From 647e875ae19d11fbd017783e83230cbb7c5582d1 Mon Sep 17 00:00:00 2001 From: s2123329 Date: Wed, 15 May 2024 16:30:46 +0100 Subject: [PATCH] Update siminp for d-spacing --- package/ClayCode/core/parsing.py | 17 ++++++++++------- package/ClayCode/data/data/MDP/defaults.yaml | 5 +++-- package/ClayCode/siminp/writer.py | 8 ++++---- 3 files changed, 17 insertions(+), 13 deletions(-) diff --git a/package/ClayCode/core/parsing.py b/package/ClayCode/core/parsing.py index 86d528e..f2701cd 100644 --- a/package/ClayCode/core/parsing.py +++ b/package/ClayCode/core/parsing.py @@ -608,13 +608,16 @@ def wrapper(self: _Args, enumerate_duplicates=False): else: if self.data[key].suffix != "": self.data[key] = self.data[key].parent - path_list.extend( - [ - self.data[key] - / path.relative_to(path.cwd()), - self.data[key] / v, - ] - ) + try: + path_list.extend( + [ + self.data[key] + / path.relative_to(path.cwd()), + self.data[key] / v, + ] + ) + except ValueError: + path_list.extend([self.data[key] / v]) for path_option in path_list: try: path_option = File(path_option, check=True) diff --git a/package/ClayCode/data/data/MDP/defaults.yaml b/package/ClayCode/data/data/MDP/defaults.yaml index 898879a..bc901e1 100644 --- a/package/ClayCode/data/data/MDP/defaults.yaml +++ b/package/ClayCode/data/data/MDP/defaults.yaml @@ -931,7 +931,7 @@ NVT: tcoupl: "nose-hoover" constraints: "h-bonds" constraint-algorithm: "lincs" -D-SPACE: +D_SPACE: dt: "0.001" integrator: "md" tinit: "0" @@ -948,7 +948,7 @@ D-SPACE: tau-p: "1.0" tau-t: "0.2" tc-grps: "system" - tcoupl: "nose-hoover" + tcoupl: "berendsen" EM: constraints: "none" emstep: "0.0005" @@ -1149,3 +1149,4 @@ GENION: wall-ewald-zfac: "" wall-r-linpot: "" wall-type: "" + constraint_algorithm: "" diff --git a/package/ClayCode/siminp/writer.py b/package/ClayCode/siminp/writer.py index bcce9cd..a75055a 100644 --- a/package/ClayCode/siminp/writer.py +++ b/package/ClayCode/siminp/writer.py @@ -150,14 +150,14 @@ def get_run_path(self, filename: PathOrStr): out_part = self.odir relpath = list(out_part.parts)[-1] new_rdir = [] - for rd in self.run_path.parts[1:]: + for rd in self.run_path.parts: if rd not in out_part.parts: new_rdir.append(rd) else: relpath = Path(*out_part.parts[out_part.parts.index(rd) :]) break - if len(new_rdir) != 0: - new_rdir.insert(0, "/") + # if len(new_rdir) != 0: + # new_rdir.insert(0, "/") new_rdir = Path(*new_rdir, relpath) return new_rdir / rel_filename else: @@ -789,7 +789,6 @@ def get_run_command(self, gmx_alias="gmx", max_run=10, mdrun_prms=None): mdrun_prms_str = "".join( [f" -{k} {v}" for k, v in mdrun_prms.items()] ) - mdrun_prms_str with open(DSPACE_RUN_SCRIPT, "r") as dspace_run_file: dspace_run_string = dspace_run_file.read() dspace_run_string = substitute_kwds( @@ -1087,6 +1086,7 @@ def write_runs( mdrun_prms: Optional[Union[MDPFile, File, str]] = None, shell: Optional[str] = None, header: Optional[str] = None, + gmx_version: Optional[int] = None, **kwargs, ): """Write the run script for the run sequence.