comparison larch_athena.py @ 6:30cdfd70f28d draft

planemo upload for repository https://github.com/MaterialsGalaxy/larch-tools/tree/main/larch_athena commit 71cee2ed96b69a2e78a1eb3dadbd2e81bf332798
author muon-spectroscopy-computational-project
date Mon, 17 Jun 2024 13:54:39 +0000
parents 27015eaf9a78
children
comparison
equal deleted inserted replaced
5:27015eaf9a78 6:30cdfd70f28d
1 import gc 1 import gc
2 import json 2 import json
3 import os 3 import os
4 import re
5 import sys 4 import sys
6 5
7 from common import ( 6 from common import (
8 pre_edge_with_defaults, 7 pre_edge_with_defaults,
9 read_all_groups, 8 read_all_groups,
10 read_group, 9 read_group,
10 sorting_key,
11 xftf_with_defaults, 11 xftf_with_defaults,
12 ) 12 )
13 13
14 from larch.io import ( 14 from larch.io import (
15 create_athena, 15 create_athena,
140 xafs_group = Group(data=np.array([energy[:], mu[:]])) 140 xafs_group = Group(data=np.array([energy[:], mu[:]]))
141 set_array_labels(xafs_group, ["energy", "mu"]) 141 set_array_labels(xafs_group, ["energy", "mu"])
142 return xafs_group 142 return xafs_group
143 143
144 def load_zipped_files(self) -> "dict[str, Group]": 144 def load_zipped_files(self) -> "dict[str, Group]":
145 def sorting_key(filename: str) -> str:
146 return re.findall(r"\d+", filename)[-1]
147
148 all_paths = list(os.walk("dat_files")) 145 all_paths = list(os.walk("dat_files"))
149 all_paths.sort(key=lambda x: x[0]) 146 all_paths.sort(key=lambda x: x[0])
150 file_total = sum([len(f) for _, _, f in all_paths]) 147 file_total = sum([len(f) for _, _, f in all_paths])
151 print(f"{file_total} files found") 148 print(f"{file_total} files found")
152 keyed_data = {} 149 keyed_data = {}
153 for dirpath, _, filenames in all_paths: 150 for dirpath, _, filenames in all_paths:
151 if dirpath.endswith("__MACOSX"):
152 print(f"Skipping {dirpath}")
153 continue
154
154 try: 155 try:
155 filenames.sort(key=sorting_key) 156 filenames.sort(key=sorting_key)
156 except IndexError as e: 157 except IndexError as e:
157 print( 158 print(
158 "WARNING: Unable to sort files numerically, " 159 "WARNING: Unable to sort files numerically, "