Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
def run_task(self, fw_spec):
# get the directory that contains the dir to parse
calc_dir = os.getcwd()
if "calc_dir" in self:
calc_dir = self["calc_dir"]
elif self.get("calc_loc"):
calc_dir = get_calc_loc(self["calc_loc"], fw_spec["calc_locs"])["path"]
# parse the calc directory
logger.info("PARSING DIRECTORY: {} USING DRONE: {}".format(
calc_dir, self['drone'].__class__.__name__))
# get the database connection
db_file = env_chk(self.get('db_file'), fw_spec)
drone = self['drone'].__class__()
task_doc = drone.assimilate(calc_dir)
if not db_file:
with open("task.json", "w") as f:
f.write(json.dumps(task_doc, default=DATETIME_HANDLER))
else:
mmdb_str = self["mmdb"]
modname, classname = mmdb_str.strip().rsplit(".", 1)
cls_ = load_class(modname, classname)
def run_task(self, fw_spec):
# get the directory that contains the VASP dir to parse
calc_dir = os.getcwd()
if "calc_dir" in self:
calc_dir = self["calc_dir"]
elif self.get("calc_loc"):
calc_dir = get_calc_loc(self["calc_loc"], fw_spec["calc_locs"])["path"]
# parse the VASP directory
logger.info("PARSING DIRECTORY: {}".format(calc_dir))
drone = VaspDrone(additional_fields=self.get("additional_fields"),
parse_dos=self.get("parse_dos", False),
parse_potcar_file=self.get("parse_potcar_file", True),
bandstructure_mode=self.get("bandstructure_mode", False),
parse_chgcar=self.get("parse_chgcar", False), # deprecated
parse_aeccar=self.get("parse_aeccar", False), # deprecated
store_volumetric_data=self.get("store_volumetric_data", STORE_VOLUMETRIC_DATA))
# assimilate (i.e., parse)
task_doc = drone.assimilate(calc_dir)
# Check for additional keys to set based on the fw_spec
def run_task(self, fw_spec):
calc_loc = get_calc_loc(self["calc_loc"], fw_spec["calc_locs"]) if self.get("calc_loc") else {}
exclude_files = self.get("exclude_files", ["feff.inp", "xmu.dat"])
self.setup_copy(self.get("calc_dir", None), filesystem=self.get("filesystem", None),
exclude_files=exclude_files, from_path_dict=calc_loc)
self.copy_files()
def run_task(self, fw_spec):
calc_loc = get_calc_loc(self["calc_loc"],
fw_spec["calc_locs"]) if self.get(
"calc_loc") else {}
# determine what files need to be copied
files_to_copy = None
if not "$ALL" in self.get("additional_files", []):
files_to_copy = ['INCAR', 'POSCAR', 'KPOINTS', 'POTCAR', 'OUTCAR',
'vasprun.xml']
if self.get("additional_files"):
files_to_copy.extend(self["additional_files"])
# decide between poscar and contcar
contcar_to_poscar = self.get("contcar_to_poscar", True)
if contcar_to_poscar and "CONTCAR" not in files_to_copy:
files_to_copy.append("CONTCAR")
files_to_copy = [f for f in files_to_copy if
def run_task(self, fw_spec):
vasp_calc_dir = self.get("calc_dir", None)
vasp_calc_loc = (
get_calc_loc(self["calc_loc"], fw_spec["calc_locs"])
if self.get("calc_loc")
else {}
)
# get the directory that contains the Lobster dir to parse
current_dir = os.getcwd()
# parse the Lobster directory
logger.info("PARSING DIRECTORY: {}".format(current_dir))
task_doc = {}
struct = Structure.from_file(self._find_gz_file("POSCAR"))
Lobsterout_here = Lobsterout(self._find_gz_file("lobsterout"))
task_doc["output"] = Lobsterout_here.get_doc()
Lobsterin_here = Lobsterin.from_file(self._find_gz_file("lobsterin"))
task_doc["input"] = Lobsterin_here
try:
Lobsterin_orig = Lobsterin.from_file(self._find_gz_file("lobsterin.orig"))
def run_task(self, fw_spec):
# get the directory that contains the LAMMPS run parse.
calc_dir = os.getcwd()
if "calc_dir" in self:
calc_dir = self["calc_dir"]
elif self.get("calc_loc"):
calc_dir = get_calc_loc(self["calc_loc"], fw_spec["calc_locs"])["path"]
# parse the directory
logger.info("PARSING DIRECTORY: {}".format(calc_dir))
drone = LammpsDrone(additional_fields=self.get("additional_fields"),
diffusion_params=self.get("diffusion_params", None))
task_doc = drone.assimilate(calc_dir, input_filename=self["input_filename"],
log_filename=self.get("log_filename", "log.lammps"),
is_forcefield=self.get("is_forcefield", False),
data_filename=self.get("data_filename", None),
dump_files=self.get("dump_filenames", None))
# Check for additional keys to set based on the fw_spec
if self.get("fw_spec_field"):
task_doc.update(fw_spec[self.get("fw_spec_field")])
def run_task(self, fw_spec):
calc_loc = get_calc_loc(self["calc_loc"],
fw_spec["calc_locs"]) if self.get(
"calc_loc") else {}
# determine what files need to be copied
files_to_copy = None
if not "$ALL" in self.get("additional_files", []):
files_to_copy = ['INCAR', 'POSCAR', 'KPOINTS', 'POTCAR', 'OUTCAR',
'vasprun.xml']
if self.get("additional_files"):
files_to_copy.extend(self["additional_files"])
# decide between poscar and contcar
contcar_to_poscar = self.get("contcar_to_poscar", True)
if contcar_to_poscar and "CONTCAR" not in files_to_copy:
files_to_copy.append("CONTCAR")
files_to_copy = [f for f in files_to_copy if
def run_task(self, fw_spec):
# get the directory that contains the QChem dir to parse
calc_dir = os.getcwd()
if "calc_dir" in self:
calc_dir = self["calc_dir"]
elif self.get("calc_loc"):
calc_dir = get_calc_loc(self["calc_loc"],
fw_spec["calc_locs"])["path"]
input_file = self.get("input_file", "mol.qin")
output_file = self.get("output_file", "mol.qout")
multirun = self.get("multirun", False)
# parse the QChem directory
logger.info("PARSING DIRECTORY: {}".format(calc_dir))
drone = QChemDrone(additional_fields=self.get("additional_fields"))
# assimilate (i.e., parse)
task_doc = drone.assimilate(
path=calc_dir,
input_file=input_file,
output_file=output_file,
multirun=multirun)
def run_task(self, fw_spec):
calc_loc = get_calc_loc(self["calc_loc"], fw_spec["calc_locs"]) if self.get("calc_loc") else {}
exclude_files = self.get("exclude_files", [])
self.setup_copy(self.get("calc_dir", None), filesystem=self.get("filesystem", None),
exclude_files=exclude_files, from_path_dict=calc_loc)
self.copy_files()
def run_task(self, fw_spec):
# get the directory that contains the VASP dir to parse
calc_dir = os.getcwd()
if "calc_dir" in self:
calc_dir = self["calc_dir"]
elif self.get("calc_loc"):
calc_dir = get_calc_loc(self["calc_loc"], fw_spec["calc_locs"])["path"]
# parse the VASP directory
logger.info("PARSING DIRECTORY: {}".format(calc_dir))
drone = VaspDrone(additional_fields=self.get("additional_fields"),
parse_dos=self.get("parse_dos", False),
bandstructure_mode=self.get("bandstructure_mode", False))
# assimilate (i.e., parse)
task_doc = drone.assimilate(calc_dir)
# Check for additional keys to set based on the fw_spec
if self.get("fw_spec_field"):
task_doc.update(fw_spec[self.get("fw_spec_field")])
# get the database connection