changeset 1:8ee2cc3374fe draft

planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_feff commit 0f66842e802430e887d1c6cb7be1cc5436408fd2
author muon-spectroscopy-computational-project
date Mon, 04 Mar 2024 11:43:32 +0000
parents edf7f8ccf4af
children a6bd21767730
files larch_feff.py larch_feff.xml test-data/1627088.cif test-data/1627088_modified.cif test-data/1667441.cif test-data/AMS_Cu.cif test-data/[CSV_summary_of_1564889.cif].csv test-data/[CSV_summary_of_1627088.cif].csv test-data/[CSV_summary_of_1667441.cif].csv test-data/[CSV_summary_of_AMS_Cu.cif].csv test-data/[FEFF_input_of_1564889.cif].txt test-data/[FEFF_input_of_1627088.cif].txt test-data/[FEFF_input_of_1627088_modified.cif].txt test-data/[FEFF_input_of_1667441.cif].txt test-data/[FEFF_input_of_AMS_Cu.cif].txt
diffstat 15 files changed, 1391 insertions(+), 89 deletions(-) [+]
line wrap: on
line diff
--- a/larch_feff.py	Tue Nov 14 15:35:09 2023 +0000
+++ b/larch_feff.py	Mon Mar 04 11:43:32 2024 +0000
@@ -5,9 +5,10 @@
 from pathlib import Path
 
 from larch.xafs.feffrunner import feff6l
+from larch.xrd import cif2feff
 
+from pymatgen.core import Species
 from pymatgen.io.cif import CifParser
-from pymatgen.io.feff import Atoms, Header, Potential
 
 
 def get_path_labels(paths_file):
@@ -48,54 +49,54 @@
     crystal_f = Path(structure_file)
     feff_dir = "feff"
     feff_inp = "feff.inp"
-    header_inp = "header"
-    atoms_inp = "atoms"
-    potential_inp = "potential"
     path = Path(feff_dir, feff_inp)
     path.parent.mkdir(parents=True, exist_ok=True)
 
     if file_format["format"] == "cif":
         print(f"Parsing {crystal_f.name} and saving to {path}")
+
+        # Parse the cif file here... but only so that we can extract the
+        # chemical symbols present in the crystal
         cif_parser = CifParser(crystal_f)
         structures = cif_parser.get_structures()
         length = len(structures)
         if length != 1:
             raise ValueError(
-                f"Execpted single structure in cif file but found {length}"
+                f"Expected single structure in cif file but found {length}"
             )
-        try:
-            aborsbing_atom = int(file_format["absorbing_atom"])
-        except ValueError:
-            # aborsbing_atom can be int or chemical symbol
-            aborsbing_atom = file_format["absorbing_atom"]
 
-        feff_header = Header(structures[0])
-        potential = Potential(structures[0], aborsbing_atom)
-        atoms = Atoms(structures[0], aborsbing_atom, file_format["radius"])
-        # if len(atoms.struct.sites) < len(potential.):
+        # cif2feffinp below will take the absorber to be a chemical symbol,
+        # while this tool should support integer site index or chemical symbol
+        # of site (string). Hence convert any integer input to the relevant
+        # chemical symbol string.
+        try:
+            absorbing_atom_int = int(file_format["absorbing_atom"])
+            specie = structures[0][absorbing_atom_int].specie
+            if isinstance(specie, Species):
+                absorbing_atom = str(specie.element)
+            else:
+                absorbing_atom = str(specie)
+        except ValueError:
+            absorbing_atom = file_format["absorbing_atom"]
 
-        # print(atoms.as_dict())
-        feff_header.write_file(header_inp)
-        potential.write_file(potential_inp)
-        atoms.write_file(atoms_inp)
+        # NOTE: Here the first site listed in the cif file with the species
+        # 'absorbing_atom' is selected as the absorbing atom.
+        # NOTE: This generates output for FEFF6 via the 'version8' flag
+        inp_data = cif2feff.cif2feffinp(
+            crystal_f,
+            absorber=absorbing_atom,
+            edge=None,
+            cluster_size=file_format["radius"],
+            absorber_site=1,
+            site_index=None,
+            extra_titles=None,
+            with_h=False,
+            version8=False,
+        )
         with open(path, "w") as feff_inp_file:
-            with open(header_inp) as f:
-                header_text = f.read()
-                print(header_text)
-                feff_inp_file.write(header_text + "\n")
-            with open(potential_inp) as f:
-                potential_text = f.readlines()
-                print(*potential_text)
-                feff_inp_file.writelines(potential_text + ["\n"])
-            with open(atoms_inp) as f:
-                atoms_text = f.readlines()
-                print(*atoms_text)
-                feff_inp_file.writelines(atoms_text + ["\n"])
-        if len(atoms_text) <= len(potential_text):
-            print(
-                "WARNING: Every potential in the structure must be represented"
-                " by at least one atom, consider increasing the radius"
-            )
+            feff_inp_file.write(inp_data + "\n")
+            print(inp_data + "\n")
+
     else:
         print(f"Copying {crystal_f.name} to {path}")
         shutil.copy(crystal_f, path)
--- a/larch_feff.xml	Tue Nov 14 15:35:09 2023 +0000
+++ b/larch_feff.xml	Mon Mar 04 11:43:32 2024 +0000
@@ -2,7 +2,7 @@
     <description>generate FEFF paths from XAFS data</description>
     <macros>
         <!-- version of underlying tool (PEP 440) -->
-        <token name="@TOOL_VERSION@">0.9.71</token>
+        <token name="@TOOL_VERSION@">0.9.74</token>
         <!-- version of this tool wrapper (integer) -->
         <token name="@WRAPPER_VERSION@">0</token>
         <!-- citation should be updated with every underlying tool version -->
@@ -51,7 +51,7 @@
         </data>
     </outputs>
     <tests>
-        <!-- Test FEFF input -->
+        <!-- 1: Test FEFF input -->
         <test expect_num_outputs="2">
             <conditional name="format">
                 <param name="format" value="feff"/>
@@ -64,7 +64,7 @@
                 </assert_contents>
             </output>
         </test>
-        <!-- Test CIF input -->
+        <!-- 2: Test CIF input FeS2 -->
         <test expect_num_outputs="3">
             <conditional name="format">
                 <param name="format" value="cif"/>
@@ -74,11 +74,151 @@
             <output name="out_csv" file="[CSV_summary_of_1564889.cif].csv"/>
             <output name="out_dir">
                 <assert_contents>
-                    <has_size value="85700" delta="100"/>
+                    <has_size value="88900" delta="100"/>
+                </assert_contents>
+            </output>
+        </test>
+        <!-- 3: Test CIF input FeS2 string species -->
+        <test expect_num_outputs="3">
+            <conditional name="format">
+                <param name="format" value="cif"/>
+                <param name="structure_file" value="1564889.cif"/>
+                <param name="absorbing_atom" value="Fe"/>
+            </conditional>
+            <output name="feff_inp" file="[FEFF_input_of_1564889.cif].txt"/>
+            <output name="out_csv" file="[CSV_summary_of_1564889.cif].csv"/>
+            <output name="out_dir">
+                <assert_contents>
+                    <has_size value="88900" delta="100"/>
+                </assert_contents>
+            </output>
+        </test>
+        <!-- 4: Test CIF input Pd -->
+        <test expect_num_outputs="3">
+            <conditional name="format">
+                <param name="format" value="cif"/>
+                <param name="structure_file" value="1627088.cif"/>
+                <param name="radius" value="5.0"/>
+            </conditional>
+            <output name="feff_inp" file="[FEFF_input_of_1627088.cif].txt"/>
+            <output name="out_csv" file="[CSV_summary_of_1627088.cif].csv"/>
+            <output name="out_dir">
+                <assert_contents>
+                    <has_size value="62500" delta="100"/>
+                </assert_contents>
+            </output>
+        </test>
+        <!-- 5: Test CIF input Pd string species -->
+        <test expect_num_outputs="3">
+            <conditional name="format">
+                <param name="format" value="cif"/>
+                <param name="structure_file" value="1627088.cif"/>
+                <param name="absorbing_atom" value="Pd"/>
+                <param name="radius" value="5.0"/>
+            </conditional>
+            <output name="feff_inp" file="[FEFF_input_of_1627088.cif].txt"/>
+            <output name="out_csv" file="[CSV_summary_of_1627088.cif].csv"/>
+            <output name="out_dir">
+                <assert_contents>
+                    <has_size value="62500" delta="100"/>
+                </assert_contents>
+            </output>
+        </test>
+        <!-- 6: Test CIF input Pd modified -->
+        <test expect_num_outputs="3">
+            <conditional name="format">
+                <param name="format" value="cif"/>
+                <param name="structure_file" value="1627088_modified.cif"/>
+                <param name="radius" value="5.0"/>
+            </conditional>
+            <output name="feff_inp" file="[FEFF_input_of_1627088_modified.cif].txt"/>
+            <output name="out_csv" file="[CSV_summary_of_1627088.cif].csv"/>
+            <output name="out_dir">
+                <assert_contents>
+                    <has_size value="62500" delta="100"/>
                 </assert_contents>
             </output>
         </test>
-        <!-- Test CIF input failure with low radius -->
+        <!-- 7: Test CIF input Pd modified string species -->
+        <test expect_num_outputs="3">
+            <conditional name="format">
+                <param name="format" value="cif"/>
+                <param name="structure_file" value="1627088_modified.cif"/>
+                <param name="absorbing_atom" value="Pd"/>
+                <param name="radius" value="5.0"/>
+            </conditional>
+            <output name="feff_inp" file="[FEFF_input_of_1627088_modified.cif].txt"/>
+            <output name="out_csv" file="[CSV_summary_of_1627088.cif].csv"/>
+            <output name="out_dir">
+                <assert_contents>
+                    <has_size value="62500" delta="100"/>
+                </assert_contents>
+            </output>
+        </test>
+        <!-- 8: Test CIF input LaMnO3 -->
+        <test expect_num_outputs="3">
+            <conditional name="format">
+                <param name="format" value="cif"/>
+                <param name="structure_file" value="1667441.cif"/>
+                <param name="absorbing_atom" value="1"/>
+                <param name="radius" value="5.0"/>
+            </conditional>
+            <output name="feff_inp" file="[FEFF_input_of_1667441.cif].txt"/>
+            <output name="out_csv" file="[CSV_summary_of_1667441.cif].csv"/>
+            <output name="out_dir">
+                <assert_contents>
+                    <has_size value="142700" delta="100"/>
+                </assert_contents>
+            </output>
+        </test>
+        <!-- 9: Test CIF input LaMnO3 string species -->
+        <test expect_num_outputs="3">
+            <conditional name="format">
+                <param name="format" value="cif"/>
+                <param name="structure_file" value="1667441.cif"/>
+                <param name="absorbing_atom" value="Mn"/>
+                <param name="radius" value="5.0"/>
+            </conditional>
+            <output name="feff_inp" file="[FEFF_input_of_1667441.cif].txt"/>
+            <output name="out_csv" file="[CSV_summary_of_1667441.cif].csv"/>
+            <output name="out_dir">
+                <assert_contents>
+                    <has_size value="142700" delta="100"/>
+                </assert_contents>
+            </output>
+        </test>
+        <!-- 10: Test CIF input Cu -->
+        <test expect_num_outputs="3">
+            <conditional name="format">
+                <param name="format" value="cif"/>
+                <param name="structure_file" value="AMS_Cu.cif"/>
+                <param name="radius" value="5.0"/>
+            </conditional>
+            <output name="feff_inp" file="[FEFF_input_of_AMS_Cu.cif].txt"/>
+            <output name="out_csv" file="[CSV_summary_of_AMS_Cu.cif].csv"/>
+            <output name="out_dir">
+                <assert_contents>
+                    <has_size value="64300" delta="100"/>
+                </assert_contents>
+            </output>
+        </test>
+        <!-- 11: Test CIF input Cu string species -->
+        <test expect_num_outputs="3">
+            <conditional name="format">
+                <param name="format" value="cif"/>
+                <param name="structure_file" value="AMS_Cu.cif"/>
+                <param name="absorbing_atom" value="Cu"/>
+                <param name="radius" value="5.0"/>
+            </conditional>
+            <output name="feff_inp" file="[FEFF_input_of_AMS_Cu.cif].txt"/>
+            <output name="out_csv" file="[CSV_summary_of_AMS_Cu.cif].csv"/>
+            <output name="out_dir">
+                <assert_contents>
+                    <has_size value="64300" delta="100"/>
+                </assert_contents>
+            </output>
+        </test>
+        <!-- 12: Test CIF input failure with low radius -->
         <test expect_failure="true">
             <conditional name="format">
                 <param name="format" value="cif"/>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/1627088.cif	Mon Mar 04 11:43:32 2024 +0000
@@ -0,0 +1,256 @@
+####################################################################### 
+# 
+# This file contains crystal structure data downloaded from the 
+# Cambridge Structural Database (CSD) hosted by the Cambridge 
+# Crystallographic Data Centre (CCDC) in cooperation with FIZ Karlsruhe.
+# 
+# Please note that these data are only for research purposes or private use.
+# For detailed information please see under Terms & Conditions.
+# Full information about CCDC and FIZ Karlsruhe data access policies and 
+# citation guidelines are available at http://www.ccdc.cam.ac.uk/access/V1
+# 
+# Audit and citation data items may have been added by FIZ Karlsruhe. 
+# Please retain this information to preserve the provenance of 
+# this file and to allow appropriate attribution of the data. 
+# 
+#######################################################################
+
+data_64918-ICSD
+_database_code_depnum_ccdc_archive 'CCDC 1627088'
+loop_
+_citation_id
+_citation_doi
+_citation_year
+1 10.1103/PhysRev.17.571 1921
+_audit_update_record             
+;
+2022-01-11 deposited with the CCDC.	2024-01-29 downloaded from the CCDC.
+;
+_database_code_ICSD              64918
+_audit_creation_date             1998-06-26
+_chemical_name_common            Palladium
+_chemical_formula_structural     Pd
+_chemical_formula_sum            Pd1
+_chemical_name_structure_type    fcc(ccp)#Cu
+_exptl_crystal_density_diffrn    11.46
+_cell_length_a                   3.95
+_cell_length_b                   3.95
+_cell_length_c                   3.95
+_cell_angle_alpha                90.
+_cell_angle_beta                 90.
+_cell_angle_gamma                90.
+_cell_volume                     61.62
+_cell_formula_units_Z            4
+_space_group_name_H-M_alt        'F m -3 m'
+_space_group_IT_number           225
+loop_
+_space_group_symop_id
+_space_group_symop_operation_xyz
+1 'z, y, -x'
+2 'y, x, -z'
+3 'x, z, -y'
+4 'z, x, -y'
+5 'y, z, -x'
+6 'x, y, -z'
+7 'z, -y, x'
+8 'y, -x, z'
+9 'x, -z, y'
+10 'z, -x, y'
+11 'y, -z, x'
+12 'x, -y, z'
+13 '-z, y, x'
+14 '-y, x, z'
+15 '-x, z, y'
+16 '-z, x, y'
+17 '-y, z, x'
+18 '-x, y, z'
+19 '-z, -y, -x'
+20 '-y, -x, -z'
+21 '-x, -z, -y'
+22 '-z, -x, -y'
+23 '-y, -z, -x'
+24 '-x, -y, -z'
+25 '-z, -y, x'
+26 '-y, -x, z'
+27 '-x, -z, y'
+28 '-z, -x, y'
+29 '-y, -z, x'
+30 '-x, -y, z'
+31 '-z, y, -x'
+32 '-y, x, -z'
+33 '-x, z, -y'
+34 '-z, x, -y'
+35 '-y, z, -x'
+36 '-x, y, -z'
+37 'z, -y, -x'
+38 'y, -x, -z'
+39 'x, -z, -y'
+40 'z, -x, -y'
+41 'y, -z, -x'
+42 'x, -y, -z'
+43 'z, y, x'
+44 'y, x, z'
+45 'x, z, y'
+46 'z, x, y'
+47 'y, z, x'
+48 'x, y, z'
+49 'z, y+1/2, -x+1/2'
+50 'y, x+1/2, -z+1/2'
+51 'x, z+1/2, -y+1/2'
+52 'z, x+1/2, -y+1/2'
+53 'y, z+1/2, -x+1/2'
+54 'x, y+1/2, -z+1/2'
+55 'z, -y+1/2, x+1/2'
+56 'y, -x+1/2, z+1/2'
+57 'x, -z+1/2, y+1/2'
+58 'z, -x+1/2, y+1/2'
+59 'y, -z+1/2, x+1/2'
+60 'x, -y+1/2, z+1/2'
+61 '-z, y+1/2, x+1/2'
+62 '-y, x+1/2, z+1/2'
+63 '-x, z+1/2, y+1/2'
+64 '-z, x+1/2, y+1/2'
+65 '-y, z+1/2, x+1/2'
+66 '-x, y+1/2, z+1/2'
+67 '-z, -y+1/2, -x+1/2'
+68 '-y, -x+1/2, -z+1/2'
+69 '-x, -z+1/2, -y+1/2'
+70 '-z, -x+1/2, -y+1/2'
+71 '-y, -z+1/2, -x+1/2'
+72 '-x, -y+1/2, -z+1/2'
+73 '-z, -y+1/2, x+1/2'
+74 '-y, -x+1/2, z+1/2'
+75 '-x, -z+1/2, y+1/2'
+76 '-z, -x+1/2, y+1/2'
+77 '-y, -z+1/2, x+1/2'
+78 '-x, -y+1/2, z+1/2'
+79 '-z, y+1/2, -x+1/2'
+80 '-y, x+1/2, -z+1/2'
+81 '-x, z+1/2, -y+1/2'
+82 '-z, x+1/2, -y+1/2'
+83 '-y, z+1/2, -x+1/2'
+84 '-x, y+1/2, -z+1/2'
+85 'z, -y+1/2, -x+1/2'
+86 'y, -x+1/2, -z+1/2'
+87 'x, -z+1/2, -y+1/2'
+88 'z, -x+1/2, -y+1/2'
+89 'y, -z+1/2, -x+1/2'
+90 'x, -y+1/2, -z+1/2'
+91 'z, y+1/2, x+1/2'
+92 'y, x+1/2, z+1/2'
+93 'x, z+1/2, y+1/2'
+94 'z, x+1/2, y+1/2'
+95 'y, z+1/2, x+1/2'
+96 'x, y+1/2, z+1/2'
+97 'z+1/2, y, -x+1/2'
+98 'y+1/2, x, -z+1/2'
+99 'x+1/2, z, -y+1/2'
+100 'z+1/2, x, -y+1/2'
+101 'y+1/2, z, -x+1/2'
+102 'x+1/2, y, -z+1/2'
+103 'z+1/2, -y, x+1/2'
+104 'y+1/2, -x, z+1/2'
+105 'x+1/2, -z, y+1/2'
+106 'z+1/2, -x, y+1/2'
+107 'y+1/2, -z, x+1/2'
+108 'x+1/2, -y, z+1/2'
+109 '-z+1/2, y, x+1/2'
+110 '-y+1/2, x, z+1/2'
+111 '-x+1/2, z, y+1/2'
+112 '-z+1/2, x, y+1/2'
+113 '-y+1/2, z, x+1/2'
+114 '-x+1/2, y, z+1/2'
+115 '-z+1/2, -y, -x+1/2'
+116 '-y+1/2, -x, -z+1/2'
+117 '-x+1/2, -z, -y+1/2'
+118 '-z+1/2, -x, -y+1/2'
+119 '-y+1/2, -z, -x+1/2'
+120 '-x+1/2, -y, -z+1/2'
+121 '-z+1/2, -y, x+1/2'
+122 '-y+1/2, -x, z+1/2'
+123 '-x+1/2, -z, y+1/2'
+124 '-z+1/2, -x, y+1/2'
+125 '-y+1/2, -z, x+1/2'
+126 '-x+1/2, -y, z+1/2'
+127 '-z+1/2, y, -x+1/2'
+128 '-y+1/2, x, -z+1/2'
+129 '-x+1/2, z, -y+1/2'
+130 '-z+1/2, x, -y+1/2'
+131 '-y+1/2, z, -x+1/2'
+132 '-x+1/2, y, -z+1/2'
+133 'z+1/2, -y, -x+1/2'
+134 'y+1/2, -x, -z+1/2'
+135 'x+1/2, -z, -y+1/2'
+136 'z+1/2, -x, -y+1/2'
+137 'y+1/2, -z, -x+1/2'
+138 'x+1/2, -y, -z+1/2'
+139 'z+1/2, y, x+1/2'
+140 'y+1/2, x, z+1/2'
+141 'x+1/2, z, y+1/2'
+142 'z+1/2, x, y+1/2'
+143 'y+1/2, z, x+1/2'
+144 'x+1/2, y, z+1/2'
+145 'z+1/2, y+1/2, -x'
+146 'y+1/2, x+1/2, -z'
+147 'x+1/2, z+1/2, -y'
+148 'z+1/2, x+1/2, -y'
+149 'y+1/2, z+1/2, -x'
+150 'x+1/2, y+1/2, -z'
+151 'z+1/2, -y+1/2, x'
+152 'y+1/2, -x+1/2, z'
+153 'x+1/2, -z+1/2, y'
+154 'z+1/2, -x+1/2, y'
+155 'y+1/2, -z+1/2, x'
+156 'x+1/2, -y+1/2, z'
+157 '-z+1/2, y+1/2, x'
+158 '-y+1/2, x+1/2, z'
+159 '-x+1/2, z+1/2, y'
+160 '-z+1/2, x+1/2, y'
+161 '-y+1/2, z+1/2, x'
+162 '-x+1/2, y+1/2, z'
+163 '-z+1/2, -y+1/2, -x'
+164 '-y+1/2, -x+1/2, -z'
+165 '-x+1/2, -z+1/2, -y'
+166 '-z+1/2, -x+1/2, -y'
+167 '-y+1/2, -z+1/2, -x'
+168 '-x+1/2, -y+1/2, -z'
+169 '-z+1/2, -y+1/2, x'
+170 '-y+1/2, -x+1/2, z'
+171 '-x+1/2, -z+1/2, y'
+172 '-z+1/2, -x+1/2, y'
+173 '-y+1/2, -z+1/2, x'
+174 '-x+1/2, -y+1/2, z'
+175 '-z+1/2, y+1/2, -x'
+176 '-y+1/2, x+1/2, -z'
+177 '-x+1/2, z+1/2, -y'
+178 '-z+1/2, x+1/2, -y'
+179 '-y+1/2, z+1/2, -x'
+180 '-x+1/2, y+1/2, -z'
+181 'z+1/2, -y+1/2, -x'
+182 'y+1/2, -x+1/2, -z'
+183 'x+1/2, -z+1/2, -y'
+184 'z+1/2, -x+1/2, -y'
+185 'y+1/2, -z+1/2, -x'
+186 'x+1/2, -y+1/2, -z'
+187 'z+1/2, y+1/2, x'
+188 'y+1/2, x+1/2, z'
+189 'x+1/2, z+1/2, y'
+190 'z+1/2, x+1/2, y'
+191 'y+1/2, z+1/2, x'
+192 'x+1/2, y+1/2, z'
+loop_
+_atom_type_symbol
+_atom_type_oxidation_number
+Pd0+ 0
+loop_
+_atom_site_label
+_atom_site_type_symbol
+_atom_site_symmetry_multiplicity
+_atom_site_Wyckoff_symbol
+_atom_site_fract_x
+_atom_site_fract_y
+_atom_site_fract_z
+_atom_site_B_iso_or_equiv
+_atom_site_occupancy
+Pd1 Pd0+ 4 a 0 0 0 . 1.
+#End of TTdata_64918-ICSD
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/1627088_modified.cif	Mon Mar 04 11:43:32 2024 +0000
@@ -0,0 +1,255 @@
+####################################################################### 
+# 
+# This file contains crystal structure data downloaded from the 
+# Cambridge Structural Database (CSD) hosted by the Cambridge 
+# Crystallographic Data Centre (CCDC) in cooperation with FIZ Karlsruhe.
+# 
+# Please note that these data are only for research purposes or private use.
+# For detailed information please see under Terms & Conditions.
+# Full information about CCDC and FIZ Karlsruhe data access policies and 
+# citation guidelines are available at http://www.ccdc.cam.ac.uk/access/V1
+# 
+# Audit and citation data items may have been added by FIZ Karlsruhe. 
+# Please retain this information to preserve the provenance of 
+# this file and to allow appropriate attribution of the data. 
+# 
+#######################################################################
+
+data_64918-ICSD
+_database_code_depnum_ccdc_archive 'CCDC 1627088'
+loop_
+_citation_id
+_citation_doi
+_citation_year
+1 10.1103/PhysRev.17.571 1921
+_audit_update_record             
+;
+2022-01-11 deposited with the CCDC.	2024-01-29 downloaded from the CCDC.
+;
+_database_code_ICSD              64918
+_audit_creation_date             1998-06-26
+_chemical_name_common            Palladium
+_chemical_formula_structural     Pd
+_chemical_formula_sum            Pd1
+_chemical_name_structure_type    fcc(ccp)#Cu
+_exptl_crystal_density_diffrn    11.46
+_cell_length_a                   3.95
+_cell_length_b                   3.95
+_cell_length_c                   3.95
+_cell_angle_alpha                90.
+_cell_angle_beta                 90.
+_cell_angle_gamma                90.
+_cell_volume                     61.62
+_cell_formula_units_Z            4
+_space_group_name_H-M_alt        'F m -3 m'
+_space_group_IT_number           225
+loop_
+_space_group_symop_id
+_space_group_symop_operation_xyz
+1 'z, y, -x'
+2 'y, x, -z'
+3 'x, z, -y'
+4 'z, x, -y'
+5 'y, z, -x'
+6 'x, y, -z'
+7 'z, -y, x'
+8 'y, -x, z'
+9 'x, -z, y'
+10 'z, -x, y'
+11 'y, -z, x'
+12 'x, -y, z'
+13 '-z, y, x'
+14 '-y, x, z'
+15 '-x, z, y'
+16 '-z, x, y'
+17 '-y, z, x'
+18 '-x, y, z'
+19 '-z, -y, -x'
+20 '-y, -x, -z'
+21 '-x, -z, -y'
+22 '-z, -x, -y'
+23 '-y, -z, -x'
+24 '-x, -y, -z'
+25 '-z, -y, x'
+26 '-y, -x, z'
+27 '-x, -z, y'
+28 '-z, -x, y'
+29 '-y, -z, x'
+30 '-x, -y, z'
+31 '-z, y, -x'
+32 '-y, x, -z'
+33 '-x, z, -y'
+34 '-z, x, -y'
+35 '-y, z, -x'
+36 '-x, y, -z'
+37 'z, -y, -x'
+38 'y, -x, -z'
+39 'x, -z, -y'
+40 'z, -x, -y'
+41 'y, -z, -x'
+42 'x, -y, -z'
+43 'z, y, x'
+44 'y, x, z'
+45 'x, z, y'
+46 'z, x, y'
+47 'y, z, x'
+48 'x, y, z'
+49 'z, y+1/2, -x+1/2'
+50 'y, x+1/2, -z+1/2'
+51 'x, z+1/2, -y+1/2'
+52 'z, x+1/2, -y+1/2'
+53 'y, z+1/2, -x+1/2'
+54 'x, y+1/2, -z+1/2'
+55 'z, -y+1/2, x+1/2'
+56 'y, -x+1/2, z+1/2'
+57 'x, -z+1/2, y+1/2'
+58 'z, -x+1/2, y+1/2'
+59 'y, -z+1/2, x+1/2'
+60 'x, -y+1/2, z+1/2'
+61 '-z, y+1/2, x+1/2'
+62 '-y, x+1/2, z+1/2'
+63 '-x, z+1/2, y+1/2'
+64 '-z, x+1/2, y+1/2'
+65 '-y, z+1/2, x+1/2'
+66 '-x, y+1/2, z+1/2'
+67 '-z, -y+1/2, -x+1/2'
+68 '-y, -x+1/2, -z+1/2'
+69 '-x, -z+1/2, -y+1/2'
+70 '-z, -x+1/2, -y+1/2'
+71 '-y, -z+1/2, -x+1/2'
+72 '-x, -y+1/2, -z+1/2'
+73 '-z, -y+1/2, x+1/2'
+74 '-y, -x+1/2, z+1/2'
+75 '-x, -z+1/2, y+1/2'
+76 '-z, -x+1/2, y+1/2'
+77 '-y, -z+1/2, x+1/2'
+78 '-x, -y+1/2, z+1/2'
+79 '-z, y+1/2, -x+1/2'
+80 '-y, x+1/2, -z+1/2'
+81 '-x, z+1/2, -y+1/2'
+82 '-z, x+1/2, -y+1/2'
+83 '-y, z+1/2, -x+1/2'
+84 '-x, y+1/2, -z+1/2'
+85 'z, -y+1/2, -x+1/2'
+86 'y, -x+1/2, -z+1/2'
+87 'x, -z+1/2, -y+1/2'
+88 'z, -x+1/2, -y+1/2'
+89 'y, -z+1/2, -x+1/2'
+90 'x, -y+1/2, -z+1/2'
+91 'z, y+1/2, x+1/2'
+92 'y, x+1/2, z+1/2'
+93 'x, z+1/2, y+1/2'
+94 'z, x+1/2, y+1/2'
+95 'y, z+1/2, x+1/2'
+96 'x, y+1/2, z+1/2'
+97 'z+1/2, y, -x+1/2'
+98 'y+1/2, x, -z+1/2'
+99 'x+1/2, z, -y+1/2'
+100 'z+1/2, x, -y+1/2'
+101 'y+1/2, z, -x+1/2'
+102 'x+1/2, y, -z+1/2'
+103 'z+1/2, -y, x+1/2'
+104 'y+1/2, -x, z+1/2'
+105 'x+1/2, -z, y+1/2'
+106 'z+1/2, -x, y+1/2'
+107 'y+1/2, -z, x+1/2'
+108 'x+1/2, -y, z+1/2'
+109 '-z+1/2, y, x+1/2'
+110 '-y+1/2, x, z+1/2'
+111 '-x+1/2, z, y+1/2'
+112 '-z+1/2, x, y+1/2'
+113 '-y+1/2, z, x+1/2'
+114 '-x+1/2, y, z+1/2'
+115 '-z+1/2, -y, -x+1/2'
+116 '-y+1/2, -x, -z+1/2'
+117 '-x+1/2, -z, -y+1/2'
+118 '-z+1/2, -x, -y+1/2'
+119 '-y+1/2, -z, -x+1/2'
+120 '-x+1/2, -y, -z+1/2'
+121 '-z+1/2, -y, x+1/2'
+122 '-y+1/2, -x, z+1/2'
+123 '-x+1/2, -z, y+1/2'
+124 '-z+1/2, -x, y+1/2'
+125 '-y+1/2, -z, x+1/2'
+126 '-x+1/2, -y, z+1/2'
+127 '-z+1/2, y, -x+1/2'
+128 '-y+1/2, x, -z+1/2'
+129 '-x+1/2, z, -y+1/2'
+130 '-z+1/2, x, -y+1/2'
+131 '-y+1/2, z, -x+1/2'
+132 '-x+1/2, y, -z+1/2'
+133 'z+1/2, -y, -x+1/2'
+134 'y+1/2, -x, -z+1/2'
+135 'x+1/2, -z, -y+1/2'
+136 'z+1/2, -x, -y+1/2'
+137 'y+1/2, -z, -x+1/2'
+138 'x+1/2, -y, -z+1/2'
+139 'z+1/2, y, x+1/2'
+140 'y+1/2, x, z+1/2'
+141 'x+1/2, z, y+1/2'
+142 'z+1/2, x, y+1/2'
+143 'y+1/2, z, x+1/2'
+144 'x+1/2, y, z+1/2'
+145 'z+1/2, y+1/2, -x'
+146 'y+1/2, x+1/2, -z'
+147 'x+1/2, z+1/2, -y'
+148 'z+1/2, x+1/2, -y'
+149 'y+1/2, z+1/2, -x'
+150 'x+1/2, y+1/2, -z'
+151 'z+1/2, -y+1/2, x'
+152 'y+1/2, -x+1/2, z'
+153 'x+1/2, -z+1/2, y'
+154 'z+1/2, -x+1/2, y'
+155 'y+1/2, -z+1/2, x'
+156 'x+1/2, -y+1/2, z'
+157 '-z+1/2, y+1/2, x'
+158 '-y+1/2, x+1/2, z'
+159 '-x+1/2, z+1/2, y'
+160 '-z+1/2, x+1/2, y'
+161 '-y+1/2, z+1/2, x'
+162 '-x+1/2, y+1/2, z'
+163 '-z+1/2, -y+1/2, -x'
+164 '-y+1/2, -x+1/2, -z'
+165 '-x+1/2, -z+1/2, -y'
+166 '-z+1/2, -x+1/2, -y'
+167 '-y+1/2, -z+1/2, -x'
+168 '-x+1/2, -y+1/2, -z'
+169 '-z+1/2, -y+1/2, x'
+170 '-y+1/2, -x+1/2, z'
+171 '-x+1/2, -z+1/2, y'
+172 '-z+1/2, -x+1/2, y'
+173 '-y+1/2, -z+1/2, x'
+174 '-x+1/2, -y+1/2, z'
+175 '-z+1/2, y+1/2, -x'
+176 '-y+1/2, x+1/2, -z'
+177 '-x+1/2, z+1/2, -y'
+178 '-z+1/2, x+1/2, -y'
+179 '-y+1/2, z+1/2, -x'
+180 '-x+1/2, y+1/2, -z'
+181 'z+1/2, -y+1/2, -x'
+182 'y+1/2, -x+1/2, -z'
+183 'x+1/2, -z+1/2, -y'
+184 'z+1/2, -x+1/2, -y'
+185 'y+1/2, -z+1/2, -x'
+186 'x+1/2, -y+1/2, -z'
+187 'z+1/2, y+1/2, x'
+188 'y+1/2, x+1/2, z'
+189 'x+1/2, z+1/2, y'
+190 'z+1/2, x+1/2, y'
+191 'y+1/2, z+1/2, x'
+192 'x+1/2, y+1/2, z'
+loop_
+_atom_type_symbol
+Pd 
+loop_
+_atom_site_label
+_atom_site_type_symbol
+_atom_site_symmetry_multiplicity
+_atom_site_Wyckoff_symbol
+_atom_site_fract_x
+_atom_site_fract_y
+_atom_site_fract_z
+_atom_site_B_iso_or_equiv
+_atom_site_occupancy
+Pd1 Pd 4 a 0 0 0 . 1.
+#End of TTdata_64918-ICSD
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/1667441.cif	Mon Mar 04 11:43:32 2024 +0000
@@ -0,0 +1,68 @@
+####################################################################### 
+# 
+# This file contains crystal structure data downloaded from the 
+# Cambridge Structural Database (CSD) hosted by the Cambridge 
+# Crystallographic Data Centre (CCDC) in cooperation with FIZ Karlsruhe.
+# 
+# Please note that these data are only for research purposes or private use.
+# For detailed information please see under Terms & Conditions.
+# Full information about CCDC and FIZ Karlsruhe data access policies and 
+# citation guidelines are available at http://www.ccdc.cam.ac.uk/access/V1
+# 
+# Audit and citation data items may have been added by FIZ Karlsruhe. 
+# Please retain this information to preserve the provenance of 
+# this file and to allow appropriate attribution of the data. 
+# 
+#######################################################################
+
+data_150259-ICSD
+_database_code_depnum_ccdc_archive 'CCDC 1667441'
+loop_
+_citation_id
+_citation_doi
+_citation_year
+1 10.1006/jssc.2001.9440 2002
+_audit_update_record             
+;
+2018-02-27 deposited with the CCDC.	2024-02-15 downloaded from the CCDC.
+;
+_database_code_ICSD              150259
+_chemical_name_systematic        'Lanthanum Manganate'
+_chemical_formula_sum            'La1 Mn1 O3'
+_cell_length_a                   5.486
+_cell_length_b                   7.761
+_cell_length_c                   5.487
+_cell_angle_alpha                90
+_cell_angle_beta                 90
+_cell_angle_gamma                90.01
+_cell_volume                     233.62
+_cell_formula_units_Z            4
+_symmetry_space_group_name_H-M   'I 1 1 2/b'
+_symmetry_Int_Tables_number      15
+_symmetry_cell_setting           monoclinic
+_refine_ls_R_factor_all          0.03
+loop_
+_symmetry_equiv_pos_site_id
+_symmetry_equiv_pos_as_xyz
+1 '-x, -y+1/2, z'
+2 'x, y+1/2, -z'
+3 '-x, -y, -z'
+4 'x, y, z'
+5 '-x+1/2, -y, z+1/2'
+6 'x+1/2, y, -z+1/2'
+7 '-x+1/2, -y+1/2, -z+1/2'
+8 'x+1/2, y+1/2, z+1/2'
+loop_
+_atom_site_label
+_atom_site_type_symbol
+_atom_site_fract_x
+_atom_site_fract_y
+_atom_site_fract_z
+La1 La3+ 0 0.25 0.5052
+Mn1 Mn3+ 0 0 0
+O1 O2- 0 0.25 0.0015
+O2 O2- 0.2682 0.0015 0.2427
+
+#End of data_150259-ICSD
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/AMS_Cu.cif	Mon Mar 04 11:43:32 2024 +0000
@@ -0,0 +1,227 @@
+data_global
+_chemical_name_mineral 'Copper'
+loop_
+_publ_author_name
+'Wyckoff R W G'
+_journal_name_full 'Crystal Structures'
+_journal_volume 1 
+_journal_year 1963
+_journal_page_first 7
+_journal_page_last 83
+_publ_section_title
+;
+ Second edition. Interscience Publishers, New York, New York
+ Cubic closest packed, ccp, structure
+;
+_database_code_amcsd 0011145
+_chemical_formula_sum 'Cu'
+_cell_length_a 3.61496
+_cell_length_b 3.61496
+_cell_length_c 3.61496
+_cell_angle_alpha 90
+_cell_angle_beta 90
+_cell_angle_gamma 90
+_cell_volume 47.240
+_exptl_crystal_density_diffrn      8.935
+_symmetry_space_group_name_H-M 'F m 3 m'
+loop_
+_space_group_symop_operation_xyz
+  'x,y,z'
+  'x,1/2+y,1/2+z'
+  '1/2+x,y,1/2+z'
+  '1/2+x,1/2+y,z'
+  'z,-x,y'
+  'z,1/2-x,1/2+y'
+  '1/2+z,-x,1/2+y'
+  '1/2+z,1/2-x,y'
+  '-y,z,-x'
+  '-y,1/2+z,1/2-x'
+  '1/2-y,z,1/2-x'
+  '1/2-y,1/2+z,-x'
+  'x,-y,z'
+  'x,1/2-y,1/2+z'
+  '1/2+x,-y,1/2+z'
+  '1/2+x,1/2-y,z'
+  '-z,x,-y'
+  '-z,1/2+x,1/2-y'
+  '1/2-z,x,1/2-y'
+  '1/2-z,1/2+x,-y'
+  'y,-z,x'
+  'y,1/2-z,1/2+x'
+  '1/2+y,-z,1/2+x'
+  '1/2+y,1/2-z,x'
+  '-x,y,-z'
+  '-x,1/2+y,1/2-z'
+  '1/2-x,y,1/2-z'
+  '1/2-x,1/2+y,-z'
+  'x,-z,-y'
+  'x,1/2-z,1/2-y'
+  '1/2+x,-z,1/2-y'
+  '1/2+x,1/2-z,-y'
+  '-z,y,x'
+  '-z,1/2+y,1/2+x'
+  '1/2-z,y,1/2+x'
+  '1/2-z,1/2+y,x'
+  'y,-x,-z'
+  'y,1/2-x,1/2-z'
+  '1/2+y,-x,1/2-z'
+  '1/2+y,1/2-x,-z'
+  '-x,z,y'
+  '-x,1/2+z,1/2+y'
+  '1/2-x,z,1/2+y'
+  '1/2-x,1/2+z,y'
+  'z,-y,-x'
+  'z,1/2-y,1/2-x'
+  '1/2+z,-y,1/2-x'
+  '1/2+z,1/2-y,-x'
+  '-y,x,z'
+  '-y,1/2+x,1/2+z'
+  '1/2-y,x,1/2+z'
+  '1/2-y,1/2+x,z'
+  'x,z,y'
+  'x,1/2+z,1/2+y'
+  '1/2+x,z,1/2+y'
+  '1/2+x,1/2+z,y'
+  '-z,-y,-x'
+  '-z,1/2-y,1/2-x'
+  '1/2-z,-y,1/2-x'
+  '1/2-z,1/2-y,-x'
+  'y,x,z'
+  'y,1/2+x,1/2+z'
+  '1/2+y,x,1/2+z'
+  '1/2+y,1/2+x,z'
+  '-x,-z,-y'
+  '-x,1/2-z,1/2-y'
+  '1/2-x,-z,1/2-y'
+  '1/2-x,1/2-z,-y'
+  'z,y,x'
+  'z,1/2+y,1/2+x'
+  '1/2+z,y,1/2+x'
+  '1/2+z,1/2+y,x'
+  '-y,-x,-z'
+  '-y,1/2-x,1/2-z'
+  '1/2-y,-x,1/2-z'
+  '1/2-y,1/2-x,-z'
+  'z,x,-y'
+  'z,1/2+x,1/2-y'
+  '1/2+z,x,1/2-y'
+  '1/2+z,1/2+x,-y'
+  '-y,-z,x'
+  '-y,1/2-z,1/2+x'
+  '1/2-y,-z,1/2+x'
+  '1/2-y,1/2-z,x'
+  'x,y,-z'
+  'x,1/2+y,1/2-z'
+  '1/2+x,y,1/2-z'
+  '1/2+x,1/2+y,-z'
+  '-z,-x,y'
+  '-z,1/2-x,1/2+y'
+  '1/2-z,-x,1/2+y'
+  '1/2-z,1/2-x,y'
+  'y,z,-x'
+  'y,1/2+z,1/2-x'
+  '1/2+y,z,1/2-x'
+  '1/2+y,1/2+z,-x'
+  '-x,-y,z'
+  '-x,1/2-y,1/2+z'
+  '1/2-x,-y,1/2+z'
+  '1/2-x,1/2-y,z'
+  '-z,x,y'
+  '-z,1/2+x,1/2+y'
+  '1/2-z,x,1/2+y'
+  '1/2-z,1/2+x,y'
+  'y,-z,-x'
+  'y,1/2-z,1/2-x'
+  '1/2+y,-z,1/2-x'
+  '1/2+y,1/2-z,-x'
+  '-x,y,z'
+  '-x,1/2+y,1/2+z'
+  '1/2-x,y,1/2+z'
+  '1/2-x,1/2+y,z'
+  'z,-x,-y'
+  'z,1/2-x,1/2-y'
+  '1/2+z,-x,1/2-y'
+  '1/2+z,1/2-x,-y'
+  '-y,z,x'
+  '-y,1/2+z,1/2+x'
+  '1/2-y,z,1/2+x'
+  '1/2-y,1/2+z,x'
+  'x,-y,-z'
+  'x,1/2-y,1/2-z'
+  '1/2+x,-y,1/2-z'
+  '1/2+x,1/2-y,-z'
+  '-x,z,-y'
+  '-x,1/2+z,1/2-y'
+  '1/2-x,z,1/2-y'
+  '1/2-x,1/2+z,-y'
+  'z,-y,x'
+  'z,1/2-y,1/2+x'
+  '1/2+z,-y,1/2+x'
+  '1/2+z,1/2-y,x'
+  '-y,x,-z'
+  '-y,1/2+x,1/2-z'
+  '1/2-y,x,1/2-z'
+  '1/2-y,1/2+x,-z'
+  'x,-z,y'
+  'x,1/2-z,1/2+y'
+  '1/2+x,-z,1/2+y'
+  '1/2+x,1/2-z,y'
+  '-z,y,-x'
+  '-z,1/2+y,1/2-x'
+  '1/2-z,y,1/2-x'
+  '1/2-z,1/2+y,-x'
+  'y,-x,z'
+  'y,1/2-x,1/2+z'
+  '1/2+y,-x,1/2+z'
+  '1/2+y,1/2-x,z'
+  '-x,-z,y'
+  '-x,1/2-z,1/2+y'
+  '1/2-x,-z,1/2+y'
+  '1/2-x,1/2-z,y'
+  'z,y,-x'
+  'z,1/2+y,1/2-x'
+  '1/2+z,y,1/2-x'
+  '1/2+z,1/2+y,-x'
+  '-y,-x,z'
+  '-y,1/2-x,1/2+z'
+  '1/2-y,-x,1/2+z'
+  '1/2-y,1/2-x,z'
+  'x,z,-y'
+  'x,1/2+z,1/2-y'
+  '1/2+x,z,1/2-y'
+  '1/2+x,1/2+z,-y'
+  '-z,-y,x'
+  '-z,1/2-y,1/2+x'
+  '1/2-z,-y,1/2+x'
+  '1/2-z,1/2-y,x'
+  'y,x,-z'
+  'y,1/2+x,1/2-z'
+  '1/2+y,x,1/2-z'
+  '1/2+y,1/2+x,-z'
+  '-z,-x,-y'
+  '-z,1/2-x,1/2-y'
+  '1/2-z,-x,1/2-y'
+  '1/2-z,1/2-x,-y'
+  'y,z,x'
+  'y,1/2+z,1/2+x'
+  '1/2+y,z,1/2+x'
+  '1/2+y,1/2+z,x'
+  '-x,-y,-z'
+  '-x,1/2-y,1/2-z'
+  '1/2-x,-y,1/2-z'
+  '1/2-x,1/2-y,-z'
+  'z,x,y'
+  'z,1/2+x,1/2+y'
+  '1/2+z,x,1/2+y'
+  '1/2+z,1/2+x,y'
+  '-y,-z,-x'
+  '-y,1/2-z,1/2-x'
+  '1/2-y,-z,1/2-x'
+  '1/2-y,1/2-z,-x'
+loop_
+_atom_site_label
+_atom_site_fract_x
+_atom_site_fract_y
+_atom_site_fract_z
+Cu   0.00000   0.00000   0.00000
+
--- a/test-data/[CSV_summary_of_1564889.cif].csv	Tue Nov 14 15:35:09 2023 +0000
+++ b/test-data/[CSV_summary_of_1564889.cif].csv	Mon Mar 04 11:43:32 2024 +0000
@@ -3,7 +3,9 @@
  feff0002.dat, 0.00000,   100.000 ,    4.000,     2 ,  2.2549     , S.Fe.2                        ,      0
  feff0003.dat, 0.00000,    17.561 ,    2.000,     2 ,  3.3852     , Fe.Fe.3                       ,      0
  feff0004.dat, 0.00000,    16.957 ,    2.000,     2 ,  3.4915     , S.Fe.4                        ,      0
- feff0005.dat, 0.00000,    31.275 ,    4.000,     2 ,  3.6045     , S.Fe.5                        ,      0
- feff0006.dat, 0.00000,     7.146 ,    8.000,     3 ,  3.8064     , S.S.Fe.6                      ,      0
+ feff0005.dat, 0.00000,    31.274 ,    4.000,     2 ,  3.6045     , S.Fe.5                        ,      0
+ feff0006.dat, 0.00000,     7.145 ,    8.000,     3 ,  3.8064     , S.S.Fe.6                      ,      0
  feff0007.dat, 0.00000,     7.214 ,    8.000,     3 ,  3.8606     , S.S.Fe.7                      ,      0
  feff0008.dat, 0.00000,    50.180 ,    8.000,     2 ,  3.8958     , Fe.Fe.8                       ,      0
+ feff0009.dat, 0.00000,     7.793 ,    8.000,     3 ,  3.9475     , Fe.S.Fe.9                     ,      0
+ feff0010.dat, 0.00000,     8.508 ,    4.000,     3 ,  3.9725     , S.S.Fe.10                     ,      0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/[CSV_summary_of_1627088.cif].csv	Mon Mar 04 11:43:32 2024 +0000
@@ -0,0 +1,6 @@
+    file     ,   sig2 ,  amp ratio,    deg  ,  nlegs,  r effective, label                         , select
+ feff0001.dat, 0.00000,   100.000 ,   12.000,     2 ,  2.7931     , Pd.Pd.1                       ,      0
+ feff0002.dat, 0.00000,    18.733 ,    6.000,     2 ,  3.9500     , Pd.Pd.2                       ,      0
+ feff0003.dat, 0.00000,     8.554 ,   48.000,     3 ,  4.1896     , Pd.Pd.Pd.3                    ,      0
+ feff0004.dat, 0.00000,     5.107 ,   48.000,     3 ,  4.7681     , Pd.Pd.Pd.4                    ,      0
+ feff0005.dat, 0.00000,    39.601 ,   24.000,     2 ,  4.8377     , Pd.Pd.5                       ,      0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/[CSV_summary_of_1667441.cif].csv	Mon Mar 04 11:43:32 2024 +0000
@@ -0,0 +1,27 @@
+    file     ,   sig2 ,  amp ratio,    deg  ,  nlegs,  r effective, label                         , select
+ feff0001.dat, 0.00000,   100.000 ,    6.000,     2 ,  1.9398     , O.Mn.1                        ,      0
+ feff0002.dat, 0.00000,    18.050 ,   24.000,     3 ,  3.3113     , O.O.Mn.2                      ,      0
+ feff0003.dat, 0.00000,    58.072 ,    8.000,     2 ,  3.3596     , La.Mn.3                       ,      0
+ feff0004.dat, 0.00000,    13.482 ,    4.000,     2 ,  3.8795     , Mn.Mn.4                       ,      0
+ feff0005.dat, 0.00000,     6.737 ,    2.000,     2 ,  3.8805     , Mn.Mn.5                       ,      0
+ feff0006.dat, 0.00000,    16.691 ,    6.000,     3 ,  3.8795     , O.O.Mn.6                      ,      0
+ feff0007.dat, 0.00000,    37.767 ,    8.000,     3 ,  3.8795     , Mn.O.Mn.7                     ,      0
+ feff0008.dat, 0.00000,    18.868 ,    4.000,     3 ,  3.8805     , Mn.O.Mn.8                     ,      0
+ feff0009.dat, 0.00000,    16.817 ,    6.000,     4 ,  3.8795     , O.Mn.O.Mn.9                   ,      0
+ feff0010.dat, 0.00000,     5.806 ,    6.000,     4 ,  3.8795     , O.Mn.O.Mn.10                  ,      0
+ feff0011.dat, 0.00000,    26.483 ,    4.000,     4 ,  3.8795     , O.Mn.O.Mn.11                  ,      0
+ feff0012.dat, 0.00000,    13.227 ,    2.000,     4 ,  3.8805     , O.Mn.O.Mn.12                  ,      0
+ feff0014.dat, 0.00000,    19.067 ,   44.000,     3 ,  4.0214     , La.O.Mn.14                    ,      0
+ feff0015.dat, 0.00000,    18.592 ,    8.000,     2 ,  4.3371     , O.Mn.15                       ,      0
+ feff0016.dat, 0.00000,    27.876 ,   12.000,     2 ,  4.3379     , O.Mn.16                       ,      0
+ feff0017.dat, 0.00000,     9.288 ,    4.000,     2 ,  4.3385     , O.Mn.17                       ,      0
+ feff0018.dat, 0.00000,     9.216 ,    8.000,     3 ,  4.5105     , O.O.Mn.18                     ,      0
+ feff0019.dat, 0.00000,    18.433 ,   16.000,     3 ,  4.5100     , O.O.Mn.19                     ,      0
+ feff0020.dat, 0.00000,    18.424 ,   16.000,     3 ,  4.5107     , O.O.Mn.20                     ,      0
+ feff0021.dat, 0.00000,     9.212 ,    8.000,     3 ,  4.5113     , O.O.Mn.21                     ,      0
+ feff0022.dat, 0.00000,     4.622 ,   16.000,     4 ,  4.6834     , O.O.O.Mn.22                   ,      0
+ feff0023.dat, 0.00000,    11.758 ,   20.000,     4 ,  4.6828     , O.O.O.Mn.23                   ,      0
+ feff0024.dat, 0.00000,     4.617 ,   12.000,     4 ,  4.6838     , O.La.O.Mn.24                  ,      0
+ feff0025.dat, 0.00000,     7.031 ,    8.000,     4 ,  4.6828     , O.O.O.Mn.25                   ,      0
+ feff0026.dat, 0.00000,    10.542 ,   12.000,     4 ,  4.6837     , O.O.O.Mn.26                   ,      0
+ feff0029.dat, 0.00000,     3.514 ,    4.000,     4 ,  4.6840     , O.O.O.Mn.29                   ,      0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/[CSV_summary_of_AMS_Cu.cif].csv	Mon Mar 04 11:43:32 2024 +0000
@@ -0,0 +1,8 @@
+    file     ,   sig2 ,  amp ratio,    deg  ,  nlegs,  r effective, label                         , select
+ feff0001.dat, 0.00000,   100.000 ,   12.000,     2 ,  2.5562     , Cu.Cu.1                       ,      0
+ feff0002.dat, 0.00000,    22.972 ,    6.000,     2 ,  3.6150     , Cu.Cu.2                       ,      0
+ feff0003.dat, 0.00000,    10.554 ,   48.000,     3 ,  3.8342     , Cu.Cu.Cu.3                    ,      0
+ feff0004.dat, 0.00000,     8.445 ,   48.000,     3 ,  4.3636     , Cu.Cu.Cu.4                    ,      0
+ feff0005.dat, 0.00000,    55.345 ,   24.000,     2 ,  4.4274     , Cu.Cu.5                       ,      0
+ feff0006.dat, 0.00000,    10.643 ,   48.000,     3 ,  4.7699     , Cu.Cu.Cu.6                    ,      0
+ feff0007.dat, 0.00000,    21.223 ,   96.000,     3 ,  4.7699     , Cu.Cu.Cu.7                    ,      0
--- a/test-data/[FEFF_input_of_1564889.cif].txt	Tue Nov 14 15:35:09 2023 +0000
+++ b/test-data/[FEFF_input_of_1564889.cif].txt	Mon Mar 04 11:43:32 2024 +0000
@@ -1,52 +1,60 @@
-* This FEFF.inp file generated by pymatgen
-TITLE comment: None given
-TITLE Source:  
-TITLE Structure Summary:  Fe2 S4
-TITLE Reduced formula:  FeS2
-TITLE space group: (Pnnm), space number:  (58)
-TITLE abc:  3.385200   4.447400   5.428700
-TITLE angles: 90.000000  90.000000  90.000000
-TITLE sites: 6
-* 1 Fe     0.000000     0.000000     0.000000
-* 2 Fe     0.500000     0.500000     0.500000
-* 3 S     0.000000     0.199900     0.378040
-* 4 S     0.000000     0.800100     0.621960
-* 5 S     0.500000     0.699900     0.121960
-* 6 S     0.500000     0.300100     0.878040
+*** feff input generated by xraylarch cif2feff using pymatgen ***
+TITLE Formula:    FeS2
+TITLE SpaceGroup: Pnnm
+TITLE # sites:    6
+* crystallographics sites: note that these sites may not be unique!
+*     using absorber at site 1 in the list below
+*     selected as absorber="Fe", absorber_site=1
+* index   X        Y        Z      species
+*   1   0.000000 0.000000 0.000000  Fe   <- absorber
+*   2   0.500000 0.500000 0.500000  Fe 
+*   3   0.000000 0.199900 0.378040  S 
+*   4   0.000000 0.800100 0.621960  S 
+*   5   0.500000 0.699900 0.121960  S 
+*   6   0.500000 0.300100 0.878040  S 
+* 
 
-POTENTIALS 
-  *ipot    Z  tag      lmax1    lmax2    xnatph(stoichometry)    spinph
-******-  **-  ****-  ******-  ******-  **********************  ********
-      0   26  Fe          -1       -1                  0.0001         0
-      1   26  Fe          -1       -1                  2              0
-      2   16  S           -1       -1                  4              0
+
+HOLE    1  1.0  * Fe K edge, around 7112 eV (2nd number is S02)
+CONTROL 1 1 1 0 * phase, paths, feff, chi
+PRINT   1 0 0 0
+RMAX    4.00
+
+EXCHANGE 0
+
+*  POLARIZATION  0 0 0
+
+POTENTIALS
+*    IPOT  Z   Tag
+      0    26   Fe
+      1    16   S
+      2    26   Fe
 
 ATOMS
-  *       x          y        z    ipot  Atom      Distance    Number
-**********-  ********-  ******-  ******  ******  **********  ********
-   0          0          0            0  Fe         0               0
-  -0.889035  -2.05227   -0            2  S          2.23656         4
-   0.889035   2.05227    0            2  S          2.23656        22
-  -1.33466    0.662084  -1.6926       2  S          2.2549          6
-  -1.33466    0.662084   1.6926       2  S          2.2549          8
-   1.33466   -0.662084  -1.6926       2  S          2.2549         11
-   1.33466   -0.662084   1.6926       2  S          2.2549         13
-   0          0         -3.3852       1  Fe         3.3852         18
-   0          0          3.3852       1  Fe         3.3852         19
-  -0.889035   3.37643    0            2  S          3.49152         9
-   0.889035  -3.37643   -0            2  S          3.49152        15
-  -3.11273   -0.662084  -1.6926       2  S          3.60449         1
-  -3.11273   -0.662084   1.6926       2  S          3.60449         3
-   3.11273    0.662084  -1.6926       2  S          3.60449        16
-   3.11273    0.662084   1.6926       2  S          3.60449        20
-  -2.2237    -2.71435   -1.6926       1  Fe         3.89582         2
-  -2.2237    -2.71435    1.6926       1  Fe         3.89582         5
-  -2.2237     2.71435   -1.6926       1  Fe         3.89582         7
-  -2.2237     2.71435    1.6926       1  Fe         3.89582        10
-   2.2237    -2.71435   -1.6926       1  Fe         3.89582        12
-   2.2237    -2.71435    1.6926       1  Fe         3.89582        14
-   2.2237     2.71435   -1.6926       1  Fe         3.89582        17
-   2.2237     2.71435    1.6926       1  Fe         3.89582        21
-END
+*    x         y         z       ipot  tag   distance  site_info
+    0.00000   0.00000   0.00000    0   Fe    0.00000  * Fe_1
+   -0.88904  -2.05227  -0.00000    1   S     2.23656  * S_4
+    0.88904   2.05227   0.00000    1   S     2.23656  * S_3
+   -1.33466   0.66208  -1.69260    1   S     2.25490  * S_5
+   -1.33466   0.66208   1.69260    1   S     2.25490  * S_5
+    1.33466  -0.66208  -1.69260    1   S     2.25490  * S_6
+    1.33466  -0.66208   1.69260    1   S     2.25490  * S_6
+    0.00000   0.00000  -3.38520    2   Fe    3.38520  * Fe_1
+    0.00000   0.00000   3.38520    2   Fe    3.38520  * Fe_1
+   -0.88904   3.37643   0.00000    1   S     3.49152  * S_4
+    0.88904  -3.37643  -0.00000    1   S     3.49152  * S_3
+   -3.11274  -0.66208   1.69260    1   S     3.60449  * S_6
+   -3.11274  -0.66208  -1.69260    1   S     3.60449  * S_6
+    3.11274   0.66208  -1.69260    1   S     3.60449  * S_5
+    3.11274   0.66208   1.69260    1   S     3.60449  * S_5
+   -2.22370   2.71435  -1.69260    2   Fe    3.89582  * Fe_2
+   -2.22370   2.71435   1.69260    2   Fe    3.89582  * Fe_2
+    2.22370  -2.71435  -1.69260    2   Fe    3.89582  * Fe_2
+    2.22370  -2.71435   1.69260    2   Fe    3.89582  * Fe_2
+   -2.22370  -2.71435   1.69260    2   Fe    3.89582  * Fe_2
+    2.22370   2.71435  -1.69260    2   Fe    3.89582  * Fe_2
+   -2.22370  -2.71435  -1.69260    2   Fe    3.89582  * Fe_2
+    2.22370   2.71435   1.69260    2   Fe    3.89582  * Fe_2
 
+* END
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/[FEFF_input_of_1627088.cif].txt	Mon Mar 04 11:43:32 2024 +0000
@@ -0,0 +1,74 @@
+*** feff input generated by xraylarch cif2feff using pymatgen ***
+TITLE Formula:    Pd
+TITLE SpaceGroup: Fm-3m
+TITLE # sites:    1
+* crystallographics sites: note that these sites may not be unique!
+*     using absorber at site 1 in the list below
+*     selected as absorber="Pd", absorber_site=1
+* index   X        Y        Z      species
+*   1   0.000000 0.000000 0.000000  Pd0   <- absorber
+* 
+
+
+HOLE    1  1.0  * Pd K edge, around 24350 eV (2nd number is S02)
+CONTROL 1 1 1 0 * phase, paths, feff, chi
+PRINT   1 0 0 0
+RMAX    5.00
+
+EXCHANGE 0
+
+*  POLARIZATION  0 0 0
+
+POTENTIALS
+*    IPOT  Z   Tag
+      0    46   Pd
+      1    46   Pd
+
+ATOMS
+*    x         y         z       ipot  tag   distance  site_info
+    0.00000   0.00000   0.00000    0   Pd    0.00000  * Pd_1
+   -1.97500   0.00000   1.97500    1   Pd    2.79307  * Pd0+_1
+   -1.97500   1.97500   0.00000    1   Pd    2.79307  * Pd0+_1
+   -0.00000  -1.97500   1.97500    1   Pd    2.79307  * Pd0+_1
+    1.97500  -1.97500   0.00000    1   Pd    2.79307  * Pd0+_1
+    0.00000   1.97500  -1.97500    1   Pd    2.79307  * Pd0+_1
+    1.97500   0.00000  -1.97500    1   Pd    2.79307  * Pd0+_1
+   -1.97500  -1.97500  -0.00000    1   Pd    2.79307  * Pd0+_1
+   -1.97500   0.00000  -1.97500    1   Pd    2.79307  * Pd0+_1
+   -0.00000  -1.97500  -1.97500    1   Pd    2.79307  * Pd0+_1
+    0.00000   1.97500   1.97500    1   Pd    2.79307  * Pd0+_1
+    1.97500   0.00000   1.97500    1   Pd    2.79307  * Pd0+_1
+    1.97500   1.97500   0.00000    1   Pd    2.79307  * Pd0+_1
+   -3.95000   0.00000  -0.00000    1   Pd    3.95000  * Pd0+_1
+    3.95000   0.00000   0.00000    1   Pd    3.95000  * Pd0+_1
+   -0.00000  -3.95000  -0.00000    1   Pd    3.95000  * Pd0+_1
+   -0.00000   0.00000  -3.95000    1   Pd    3.95000  * Pd0+_1
+    0.00000   0.00000   3.95000    1   Pd    3.95000  * Pd0+_1
+    0.00000   3.95000   0.00000    1   Pd    3.95000  * Pd0+_1
+   -3.95000   1.97500   1.97500    1   Pd    4.83774  * Pd0+_1
+    3.95000  -1.97500  -1.97500    1   Pd    4.83774  * Pd0+_1
+   -3.95000  -1.97500  -1.97500    1   Pd    4.83774  * Pd0+_1
+   -3.95000  -1.97500   1.97500    1   Pd    4.83774  * Pd0+_1
+   -1.97500  -3.95000   1.97500    1   Pd    4.83774  * Pd0+_1
+   -1.97500  -1.97500   3.95000    1   Pd    4.83774  * Pd0+_1
+   -3.95000   1.97500  -1.97500    1   Pd    4.83774  * Pd0+_1
+   -1.97500   1.97500  -3.95000    1   Pd    4.83774  * Pd0+_1
+   -1.97500   3.95000  -1.97500    1   Pd    4.83774  * Pd0+_1
+   -1.97500   1.97500   3.95000    1   Pd    4.83774  * Pd0+_1
+   -1.97500   3.95000   1.97500    1   Pd    4.83774  * Pd0+_1
+    1.97500  -3.95000  -1.97500    1   Pd    4.83774  * Pd0+_1
+    1.97500  -1.97500  -3.95000    1   Pd    4.83774  * Pd0+_1
+    1.97500  -3.95000   1.97500    1   Pd    4.83774  * Pd0+_1
+    1.97500  -1.97500   3.95000    1   Pd    4.83774  * Pd0+_1
+    3.95000  -1.97500   1.97500    1   Pd    4.83774  * Pd0+_1
+    1.97500   1.97500  -3.95000    1   Pd    4.83774  * Pd0+_1
+    1.97500   3.95000  -1.97500    1   Pd    4.83774  * Pd0+_1
+    3.95000   1.97500  -1.97500    1   Pd    4.83774  * Pd0+_1
+    3.95000   1.97500   1.97500    1   Pd    4.83774  * Pd0+_1
+   -1.97500  -3.95000  -1.97500    1   Pd    4.83774  * Pd0+_1
+   -1.97500  -1.97500  -3.95000    1   Pd    4.83774  * Pd0+_1
+    1.97500   1.97500   3.95000    1   Pd    4.83774  * Pd0+_1
+    1.97500   3.95000   1.97500    1   Pd    4.83774  * Pd0+_1
+
+* END
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/[FEFF_input_of_1627088_modified.cif].txt	Mon Mar 04 11:43:32 2024 +0000
@@ -0,0 +1,74 @@
+*** feff input generated by xraylarch cif2feff using pymatgen ***
+TITLE Formula:    Pd
+TITLE SpaceGroup: Fm-3m
+TITLE # sites:    1
+* crystallographics sites: note that these sites may not be unique!
+*     using absorber at site 1 in the list below
+*     selected as absorber="Pd", absorber_site=1
+* index   X        Y        Z      species
+*   1   0.000000 0.000000 0.000000  Pd   <- absorber
+* 
+
+
+HOLE    1  1.0  * Pd K edge, around 24350 eV (2nd number is S02)
+CONTROL 1 1 1 0 * phase, paths, feff, chi
+PRINT   1 0 0 0
+RMAX    5.00
+
+EXCHANGE 0
+
+*  POLARIZATION  0 0 0
+
+POTENTIALS
+*    IPOT  Z   Tag
+      0    46   Pd
+      1    46   Pd
+
+ATOMS
+*    x         y         z       ipot  tag   distance  site_info
+    0.00000   0.00000   0.00000    0   Pd    0.00000  * Pd_1
+   -1.97500   0.00000   1.97500    1   Pd    2.79307  * Pd_1
+   -1.97500   1.97500   0.00000    1   Pd    2.79307  * Pd_1
+   -0.00000  -1.97500   1.97500    1   Pd    2.79307  * Pd_1
+    1.97500  -1.97500   0.00000    1   Pd    2.79307  * Pd_1
+    0.00000   1.97500  -1.97500    1   Pd    2.79307  * Pd_1
+    1.97500   0.00000  -1.97500    1   Pd    2.79307  * Pd_1
+   -1.97500  -1.97500  -0.00000    1   Pd    2.79307  * Pd_1
+   -1.97500   0.00000  -1.97500    1   Pd    2.79307  * Pd_1
+   -0.00000  -1.97500  -1.97500    1   Pd    2.79307  * Pd_1
+    0.00000   1.97500   1.97500    1   Pd    2.79307  * Pd_1
+    1.97500   0.00000   1.97500    1   Pd    2.79307  * Pd_1
+    1.97500   1.97500   0.00000    1   Pd    2.79307  * Pd_1
+   -3.95000   0.00000  -0.00000    1   Pd    3.95000  * Pd_1
+    3.95000   0.00000   0.00000    1   Pd    3.95000  * Pd_1
+   -0.00000  -3.95000  -0.00000    1   Pd    3.95000  * Pd_1
+   -0.00000   0.00000  -3.95000    1   Pd    3.95000  * Pd_1
+    0.00000   0.00000   3.95000    1   Pd    3.95000  * Pd_1
+    0.00000   3.95000   0.00000    1   Pd    3.95000  * Pd_1
+   -3.95000   1.97500   1.97500    1   Pd    4.83774  * Pd_1
+    3.95000  -1.97500  -1.97500    1   Pd    4.83774  * Pd_1
+   -3.95000  -1.97500  -1.97500    1   Pd    4.83774  * Pd_1
+   -3.95000  -1.97500   1.97500    1   Pd    4.83774  * Pd_1
+   -1.97500  -3.95000   1.97500    1   Pd    4.83774  * Pd_1
+   -1.97500  -1.97500   3.95000    1   Pd    4.83774  * Pd_1
+   -3.95000   1.97500  -1.97500    1   Pd    4.83774  * Pd_1
+   -1.97500   1.97500  -3.95000    1   Pd    4.83774  * Pd_1
+   -1.97500   3.95000  -1.97500    1   Pd    4.83774  * Pd_1
+   -1.97500   1.97500   3.95000    1   Pd    4.83774  * Pd_1
+   -1.97500   3.95000   1.97500    1   Pd    4.83774  * Pd_1
+    1.97500  -3.95000  -1.97500    1   Pd    4.83774  * Pd_1
+    1.97500  -1.97500  -3.95000    1   Pd    4.83774  * Pd_1
+    1.97500  -3.95000   1.97500    1   Pd    4.83774  * Pd_1
+    1.97500  -1.97500   3.95000    1   Pd    4.83774  * Pd_1
+    3.95000  -1.97500   1.97500    1   Pd    4.83774  * Pd_1
+    1.97500   1.97500  -3.95000    1   Pd    4.83774  * Pd_1
+    1.97500   3.95000  -1.97500    1   Pd    4.83774  * Pd_1
+    3.95000   1.97500  -1.97500    1   Pd    4.83774  * Pd_1
+    3.95000   1.97500   1.97500    1   Pd    4.83774  * Pd_1
+   -1.97500  -3.95000  -1.97500    1   Pd    4.83774  * Pd_1
+   -1.97500  -1.97500  -3.95000    1   Pd    4.83774  * Pd_1
+    1.97500   1.97500   3.95000    1   Pd    4.83774  * Pd_1
+    1.97500   3.95000   1.97500    1   Pd    4.83774  * Pd_1
+
+* END
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/[FEFF_input_of_1667441.cif].txt	Mon Mar 04 11:43:32 2024 +0000
@@ -0,0 +1,82 @@
+*** feff input generated by xraylarch cif2feff using pymatgen ***
+TITLE Formula:    LaMnO3
+TITLE SpaceGroup: Pm-3m
+TITLE # sites:    5
+* crystallographics sites: note that these sites may not be unique!
+*     using absorber at site 2 in the list below
+*     selected as absorber="Mn", absorber_site=1
+* index   X        Y        Z      species
+*   1   0.500000 0.500000 0.500000  La 
+*   2   0.000000 0.000000 0.000000  Mn   <- absorber
+*   3   1.000000 0.000000 0.500000  O 
+*   4   1.000000 0.500000 0.000000  O 
+*   5   0.500000 0.000000 0.000000  O 
+* 
+
+
+HOLE    1  1.0  * Mn K edge, around 6539 eV (2nd number is S02)
+CONTROL 1 1 1 0 * phase, paths, feff, chi
+PRINT   1 0 0 0
+RMAX    5.00
+
+EXCHANGE 0
+
+*  POLARIZATION  0 0 0
+
+POTENTIALS
+*    IPOT  Z   Tag
+      0    25   Mn
+      1     8   O
+      2    57   La
+      3    25   Mn
+
+ATOMS
+*    x         y         z       ipot  tag   distance  site_info
+    0.00000   0.00000   0.00000    0   Mn    0.00000  * Mn_2
+   -1.37150   0.00000  -1.37175    1   O     1.93977  * O_5
+   -1.37150   0.00000   1.37175    1   O     1.93977  * O_4
+    1.37150   0.00000  -1.37175    1   O     1.93977  * O_4
+    1.37150   0.00000   1.37175    1   O     1.93977  * O_5
+   -0.00034   1.94025   0.00000    1   O     1.94025  * O_3
+    0.00034  -1.94025  -0.00000    1   O     1.94025  * O_3
+    2.74266   1.94025  -0.00000    2   La    3.35958  * La_1
+   -2.74266  -1.94025  -0.00000    2   La    3.35958  * La_1
+    2.74334  -1.94025  -0.00000    2   La    3.36013  * La_1
+   -2.74334   1.94025  -0.00000    2   La    3.36013  * La_1
+   -0.00034   1.94025  -2.74350    2   La    3.36026  * La_1
+   -0.00034   1.94025   2.74350    2   La    3.36026  * La_1
+    0.00034  -1.94025  -2.74350    2   La    3.36026  * La_1
+    0.00034  -1.94025   2.74350    2   La    3.36026  * La_1
+   -2.74300   0.00000  -2.74350    3   Mn    3.87954  * Mn_2
+   -2.74300   0.00000   2.74350    3   Mn    3.87954  * Mn_2
+    2.74300   0.00000  -2.74350    3   Mn    3.87954  * Mn_2
+    2.74300   0.00000   2.74350    3   Mn    3.87954  * Mn_2
+   -0.00068   3.88050   0.00000    3   Mn    3.88050  * Mn_2
+    0.00068  -3.88050  -0.00000    3   Mn    3.88050  * Mn_2
+   -4.11450   0.00000  -1.37175    1   O     4.33714  * O_4
+   -4.11450   0.00000   1.37175    1   O     4.33714  * O_5
+    4.11450   0.00000  -1.37175    1   O     4.33714  * O_5
+    4.11450   0.00000   1.37175    1   O     4.33714  * O_4
+   -2.74266  -1.94025  -2.74350    1   O     4.33746  * O_3
+   -2.74266  -1.94025   2.74350    1   O     4.33746  * O_3
+    2.74266   1.94025  -2.74350    1   O     4.33746  * O_3
+    2.74266   1.94025   2.74350    1   O     4.33746  * O_3
+   -1.37150   0.00000  -4.11525    1   O     4.33778  * O_4
+   -1.37150   0.00000   4.11525    1   O     4.33778  * O_5
+    1.37150   0.00000  -4.11525    1   O     4.33778  * O_5
+    1.37150   0.00000   4.11525    1   O     4.33778  * O_4
+   -2.74334   1.94025  -2.74350    1   O     4.33789  * O_3
+   -2.74334   1.94025   2.74350    1   O     4.33789  * O_3
+    2.74334  -1.94025  -2.74350    1   O     4.33789  * O_3
+    2.74334  -1.94025   2.74350    1   O     4.33789  * O_3
+   -1.37082  -3.88050  -1.37175    1   O     4.33810  * O_5
+   -1.37082  -3.88050   1.37175    1   O     4.33810  * O_4
+    1.37082   3.88050  -1.37175    1   O     4.33810  * O_4
+    1.37082   3.88050   1.37175    1   O     4.33810  * O_5
+   -1.37218   3.88050  -1.37175    1   O     4.33853  * O_5
+   -1.37218   3.88050   1.37175    1   O     4.33853  * O_4
+    1.37218  -3.88050  -1.37175    1   O     4.33853  * O_4
+    1.37218  -3.88050   1.37175    1   O     4.33853  * O_5
+
+* END
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/[FEFF_input_of_AMS_Cu.cif].txt	Mon Mar 04 11:43:32 2024 +0000
@@ -0,0 +1,74 @@
+*** feff input generated by xraylarch cif2feff using pymatgen ***
+TITLE Formula:    Cu
+TITLE SpaceGroup: Fm-3m
+TITLE # sites:    1
+* crystallographics sites: note that these sites may not be unique!
+*     using absorber at site 1 in the list below
+*     selected as absorber="Cu", absorber_site=1
+* index   X        Y        Z      species
+*   1   0.000000 0.000000 0.000000  Cu   <- absorber
+* 
+
+
+HOLE    1  1.0  * Cu K edge, around 8979 eV (2nd number is S02)
+CONTROL 1 1 1 0 * phase, paths, feff, chi
+PRINT   1 0 0 0
+RMAX    5.00
+
+EXCHANGE 0
+
+*  POLARIZATION  0 0 0
+
+POTENTIALS
+*    IPOT  Z   Tag
+      0    29   Cu
+      1    29   Cu
+
+ATOMS
+*    x         y         z       ipot  tag   distance  site_info
+    0.00000   0.00000   0.00000    0   Cu    0.00000  * Cu_1
+   -1.80748   1.80748   0.00000    1   Cu    2.55616  * Cu_1
+    1.80748  -1.80748   0.00000    1   Cu    2.55616  * Cu_1
+   -1.80748  -1.80748   0.00000    1   Cu    2.55616  * Cu_1
+   -1.80748   0.00000  -1.80748    1   Cu    2.55616  * Cu_1
+   -1.80748   0.00000   1.80748    1   Cu    2.55616  * Cu_1
+   -0.00000  -1.80748  -1.80748    1   Cu    2.55616  * Cu_1
+   -0.00000  -1.80748   1.80748    1   Cu    2.55616  * Cu_1
+    0.00000   1.80748  -1.80748    1   Cu    2.55616  * Cu_1
+    1.80748   0.00000  -1.80748    1   Cu    2.55616  * Cu_1
+    0.00000   1.80748   1.80748    1   Cu    2.55616  * Cu_1
+    1.80748   0.00000   1.80748    1   Cu    2.55616  * Cu_1
+    1.80748   1.80748   0.00000    1   Cu    2.55616  * Cu_1
+   -3.61496   0.00000   0.00000    1   Cu    3.61496  * Cu_1
+    3.61496   0.00000   0.00000    1   Cu    3.61496  * Cu_1
+   -0.00000  -3.61496   0.00000    1   Cu    3.61496  * Cu_1
+   -0.00000   0.00000  -3.61496    1   Cu    3.61496  * Cu_1
+    0.00000   0.00000   3.61496    1   Cu    3.61496  * Cu_1
+    0.00000   3.61496   0.00000    1   Cu    3.61496  * Cu_1
+   -3.61496   1.80748  -1.80748    1   Cu    4.42740  * Cu_1
+   -3.61496   1.80748   1.80748    1   Cu    4.42740  * Cu_1
+    3.61496  -1.80748  -1.80748    1   Cu    4.42740  * Cu_1
+    3.61496  -1.80748   1.80748    1   Cu    4.42740  * Cu_1
+   -3.61496  -1.80748  -1.80748    1   Cu    4.42740  * Cu_1
+   -1.80748  -3.61496  -1.80748    1   Cu    4.42740  * Cu_1
+   -1.80748  -1.80748  -3.61496    1   Cu    4.42740  * Cu_1
+   -3.61496  -1.80748   1.80748    1   Cu    4.42740  * Cu_1
+   -1.80748  -3.61496   1.80748    1   Cu    4.42740  * Cu_1
+   -1.80748  -1.80748   3.61496    1   Cu    4.42740  * Cu_1
+   -1.80748   1.80748  -3.61496    1   Cu    4.42740  * Cu_1
+   -1.80748   3.61496  -1.80748    1   Cu    4.42740  * Cu_1
+   -1.80748   1.80748   3.61496    1   Cu    4.42740  * Cu_1
+   -1.80748   3.61496   1.80748    1   Cu    4.42740  * Cu_1
+    1.80748  -3.61496  -1.80748    1   Cu    4.42740  * Cu_1
+    1.80748  -1.80748  -3.61496    1   Cu    4.42740  * Cu_1
+    1.80748  -3.61496   1.80748    1   Cu    4.42740  * Cu_1
+    1.80748  -1.80748   3.61496    1   Cu    4.42740  * Cu_1
+    1.80748   1.80748  -3.61496    1   Cu    4.42740  * Cu_1
+    1.80748   3.61496  -1.80748    1   Cu    4.42740  * Cu_1
+    3.61496   1.80748  -1.80748    1   Cu    4.42740  * Cu_1
+    1.80748   1.80748   3.61496    1   Cu    4.42740  * Cu_1
+    1.80748   3.61496   1.80748    1   Cu    4.42740  * Cu_1
+    3.61496   1.80748   1.80748    1   Cu    4.42740  * Cu_1
+
+* END
+