stjames 0.0.105__py3-none-any.whl → 0.0.106__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of stjames might be problematic. Click here for more details.
- stjames/method.py +3 -0
- stjames/solvent.py +2 -0
- stjames/workflows/__init__.py +3 -0
- stjames/workflows/conformer_search.py +35 -1
- stjames/workflows/docking.py +14 -9
- stjames/workflows/pka.py +55 -6
- stjames/workflows/protein_cofolding.py +26 -5
- stjames/workflows/strain.py +46 -0
- {stjames-0.0.105.dist-info → stjames-0.0.106.dist-info}/METADATA +1 -1
- {stjames-0.0.105.dist-info → stjames-0.0.106.dist-info}/RECORD +13 -12
- {stjames-0.0.105.dist-info → stjames-0.0.106.dist-info}/WHEEL +0 -0
- {stjames-0.0.105.dist-info → stjames-0.0.106.dist-info}/licenses/LICENSE +0 -0
- {stjames-0.0.105.dist-info → stjames-0.0.106.dist-info}/top_level.txt +0 -0
stjames/method.py
CHANGED
|
@@ -135,3 +135,6 @@ PREPACKAGED_METHODS = [*XTB_METHODS, *COMPOSITE_METHODS, *PREPACKAGED_NNP_METHOD
|
|
|
135
135
|
|
|
136
136
|
MethodWithCorrection = Literal[Method.WB97XD3, Method.WB97XV, Method.WB97MV, Method.WB97MD3BJ, Method.DSDBLYPD3BJ]
|
|
137
137
|
METHODS_WITH_CORRECTION = [Method.WB97XD3, Method.WB97XV, Method.WB97MV, Method.WB97MD3BJ, Method.DSDBLYPD3BJ, Method.B97D3BJ]
|
|
138
|
+
|
|
139
|
+
MGGAFunctionals = Literal[Method.R2SCAN, Method.R2SCAN3C, Method.TPSS, Method.TPSSH, Method.M06L, Method.M06, Method.M062X, Method.WB97MD3BJ, Method.WB97MV]
|
|
140
|
+
MGGA_FUNCTIONALS = [Method.R2SCAN, Method.R2SCAN3C, Method.TPSS, Method.TPSSH, Method.M06L, Method.M06, Method.M062X, Method.WB97MD3BJ, Method.WB97MV]
|
stjames/solvent.py
CHANGED
|
@@ -28,6 +28,8 @@ class Solvent(LowercaseStrEnum):
|
|
|
28
28
|
ISOPROPANOL = "isopropanol"
|
|
29
29
|
DIMETHYLACETAMIDE = "dimethylacetamide"
|
|
30
30
|
DIMETHYLFORMAMIDE = "dimethylformamide"
|
|
31
|
+
N_METHYLPYRROLIDONE = "n_methylpyrrolidone"
|
|
32
|
+
ETHYLENE_GLYCOL = "ethylene_glycol"
|
|
31
33
|
|
|
32
34
|
|
|
33
35
|
class SolventModel(LowercaseStrEnum):
|
stjames/workflows/__init__.py
CHANGED
|
@@ -26,6 +26,7 @@ from .redox_potential import *
|
|
|
26
26
|
from .scan import *
|
|
27
27
|
from .solubility import *
|
|
28
28
|
from .spin_states import *
|
|
29
|
+
from .strain import *
|
|
29
30
|
from .tautomer import *
|
|
30
31
|
from .workflow import *
|
|
31
32
|
|
|
@@ -54,6 +55,7 @@ WORKFLOW_NAME = Literal[
|
|
|
54
55
|
"scan",
|
|
55
56
|
"solubility",
|
|
56
57
|
"spin_states",
|
|
58
|
+
"strain",
|
|
57
59
|
"tautomers",
|
|
58
60
|
]
|
|
59
61
|
|
|
@@ -82,5 +84,6 @@ WORKFLOW_MAPPING: dict[WORKFLOW_NAME, Workflow] = {
|
|
|
82
84
|
"scan": ScanWorkflow, # type: ignore [dict-item]
|
|
83
85
|
"solubility": SolubilityWorkflow, # type: ignore [dict-item]
|
|
84
86
|
"spin_states": SpinStatesWorkflow, # type: ignore [dict-item]
|
|
87
|
+
"strain": StrainWorkflow, # type: ignore [dict-item]
|
|
85
88
|
"tautomers": TautomerWorkflow, # type: ignore [dict-item]
|
|
86
89
|
}
|
|
@@ -255,7 +255,41 @@ class iMTDsMTDSettings(iMTDSettings):
|
|
|
255
255
|
run_type: str = "imtd-smtd"
|
|
256
256
|
|
|
257
257
|
|
|
258
|
-
|
|
258
|
+
class LyrebirdSettings(ConformerGenSettings):
|
|
259
|
+
"""
|
|
260
|
+
Settings for Lyrebird-based conformer generation.
|
|
261
|
+
|
|
262
|
+
Inherited:
|
|
263
|
+
:param mode: Mode for calculations
|
|
264
|
+
:param conf_opt_method: method for the optimization
|
|
265
|
+
:param screening: post-generation screening settings
|
|
266
|
+
:param constraints: constraints for conformer generation
|
|
267
|
+
:param nci: add a constraining potential for non-covalent interactions (not supported in ETKDG)
|
|
268
|
+
:param max_confs: maximum number of conformers to keep
|
|
269
|
+
|
|
270
|
+
New:
|
|
271
|
+
:param num_initial_confs: number of initial conformers to generate
|
|
272
|
+
"""
|
|
273
|
+
|
|
274
|
+
num_initial_confs: int = 300
|
|
275
|
+
settings_type: Literal["lyrebird"] = "lyrebird"
|
|
276
|
+
|
|
277
|
+
@field_validator("constraints")
|
|
278
|
+
def check_constraints(cls, constraints: Sequence[Constraint]) -> Sequence[Constraint]:
|
|
279
|
+
if constraints:
|
|
280
|
+
raise ValueError("Lyrebird does not support constraints")
|
|
281
|
+
|
|
282
|
+
return tuple(constraints)
|
|
283
|
+
|
|
284
|
+
@field_validator("nci")
|
|
285
|
+
def check_nci(cls, nci: bool) -> bool:
|
|
286
|
+
if nci:
|
|
287
|
+
raise ValueError("Lyrebird does not support NCI")
|
|
288
|
+
|
|
289
|
+
return nci
|
|
290
|
+
|
|
291
|
+
|
|
292
|
+
ConformerGenSettingsUnion = Annotated[ETKDGSettings | iMTDSettings | LyrebirdSettings, Field(discriminator="settings_type")]
|
|
259
293
|
|
|
260
294
|
|
|
261
295
|
class ConformerGenMixin(BaseModel):
|
stjames/workflows/docking.py
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"""Docking workflow."""
|
|
2
2
|
|
|
3
|
-
from typing import Annotated, Self
|
|
3
|
+
from typing import Annotated, Self, TypeAlias
|
|
4
4
|
|
|
5
5
|
from pydantic import AfterValidator, ConfigDict, field_validator, model_validator
|
|
6
6
|
|
|
@@ -10,18 +10,26 @@ from ..types import UUID, Vector3D
|
|
|
10
10
|
from .conformer_search import ConformerGenSettingsUnion, ETKDGSettings
|
|
11
11
|
from .workflow import MoleculeWorkflow
|
|
12
12
|
|
|
13
|
+
ProteinUUID: TypeAlias = UUID
|
|
14
|
+
CalculationUUID: TypeAlias = UUID
|
|
15
|
+
|
|
13
16
|
|
|
14
17
|
class Score(Base):
|
|
15
18
|
"""
|
|
16
19
|
Pose with its score.
|
|
17
20
|
|
|
18
|
-
:param pose: conformation of the ligand when docked
|
|
21
|
+
:param pose: conformation of the ligand when docked (calculation UUID)
|
|
22
|
+
:param complex_pdb: the UUID of the protein–ligand complex (protein UUID)
|
|
19
23
|
:param score: score of the pose, in kcal/mol
|
|
24
|
+
:param posebusters_valid: whether or not the ligand pose passes the PoseBusters tests
|
|
25
|
+
:param strain: strain in kcal/mol
|
|
20
26
|
"""
|
|
21
27
|
|
|
22
|
-
pose:
|
|
28
|
+
pose: CalculationUUID | None
|
|
29
|
+
complex_pdb: ProteinUUID | None
|
|
23
30
|
score: Annotated[float, AfterValidator(round_float(3))]
|
|
24
31
|
posebusters_valid: bool
|
|
32
|
+
strain: float | None
|
|
25
33
|
|
|
26
34
|
|
|
27
35
|
class DockingSettings(Base):
|
|
@@ -78,17 +86,14 @@ class DockingWorkflow(MoleculeWorkflow):
|
|
|
78
86
|
target_uuid: UUID | None = None
|
|
79
87
|
pocket: tuple[Vector3D, Vector3D]
|
|
80
88
|
|
|
89
|
+
docking_settings: VinaSettings = VinaSettings()
|
|
90
|
+
|
|
81
91
|
do_csearch: bool = True
|
|
82
92
|
conformer_gen_settings: ConformerGenSettingsUnion = ETKDGSettings(mode="reckless")
|
|
83
|
-
|
|
84
93
|
do_optimization: bool = True
|
|
85
|
-
# optimization_settings - here in future once we have a cleaner mode sol'n, ccw 7.9.25
|
|
86
|
-
|
|
87
|
-
docking_settings: VinaSettings = VinaSettings()
|
|
88
|
-
|
|
89
94
|
do_pose_refinement: bool = True
|
|
90
95
|
|
|
91
|
-
conformers: list[
|
|
96
|
+
conformers: list[CalculationUUID] = []
|
|
92
97
|
scores: list[Score] = []
|
|
93
98
|
|
|
94
99
|
def __str__(self) -> str:
|
stjames/workflows/pka.py
CHANGED
|
@@ -1,12 +1,29 @@
|
|
|
1
1
|
"""pKa workflow."""
|
|
2
2
|
|
|
3
|
-
from typing import Annotated
|
|
3
|
+
from typing import Annotated, Optional, Self
|
|
4
4
|
|
|
5
|
-
from pydantic import AfterValidator
|
|
5
|
+
from pydantic import AfterValidator, model_validator
|
|
6
6
|
|
|
7
|
-
from ..base import Base, round_float, round_optional_float
|
|
7
|
+
from ..base import Base, LowercaseStrEnum, round_float, round_optional_float
|
|
8
8
|
from ..mode import Mode
|
|
9
|
-
from
|
|
9
|
+
from ..solvent import Solvent
|
|
10
|
+
from .workflow import DBCalculation, MoleculeWorkflow, SMILESWorkflow
|
|
11
|
+
|
|
12
|
+
CHEMPROP_NEVOLIANUS2025_ALLOWED_SOLVENTS = {
|
|
13
|
+
Solvent.WATER,
|
|
14
|
+
Solvent.DIMETHYLSULFOXIDE,
|
|
15
|
+
Solvent.DIMETHYLFORMAMIDE,
|
|
16
|
+
Solvent.ACETONITRILE,
|
|
17
|
+
Solvent.METHANOL,
|
|
18
|
+
Solvent.ETHANOL,
|
|
19
|
+
Solvent.ETHYLENE_GLYCOL,
|
|
20
|
+
Solvent.N_METHYLPYRROLIDONE,
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
class MicroscopicpKaMethod(LowercaseStrEnum):
|
|
25
|
+
AIMNET2_WAGEN2024 = "aimnet2_wagen2024"
|
|
26
|
+
CHEMPROP_NEVOLIANUS2025 = "chemprop_nevolianus2025"
|
|
10
27
|
|
|
11
28
|
|
|
12
29
|
class pKaMicrostate(Base):
|
|
@@ -14,26 +31,33 @@ class pKaMicrostate(Base):
|
|
|
14
31
|
A microstate for pKa calculations.
|
|
15
32
|
|
|
16
33
|
:param atom_index: index of the atom
|
|
34
|
+
:param smiles: SMILES of the microstate
|
|
17
35
|
:param structures: DBCalculation for the microstate
|
|
18
36
|
:param deltaG: relative free energy
|
|
19
37
|
:param pka: pKa
|
|
38
|
+
:uncertainty: uncertainty
|
|
20
39
|
"""
|
|
21
40
|
|
|
22
41
|
atom_index: int
|
|
42
|
+
smiles: Optional[str]
|
|
23
43
|
structures: list[DBCalculation] = []
|
|
24
|
-
deltaG: Annotated[float, AfterValidator(
|
|
44
|
+
deltaG: Annotated[Optional[float], AfterValidator(round_optional_float(3))] = None
|
|
25
45
|
pka: Annotated[float, AfterValidator(round_float(3))]
|
|
46
|
+
uncertainty: Annotated[Optional[float], AfterValidator(round_optional_float(3))] = None
|
|
26
47
|
|
|
27
48
|
|
|
28
|
-
class pKaWorkflow(MoleculeWorkflow):
|
|
49
|
+
class pKaWorkflow(SMILESWorkflow, MoleculeWorkflow):
|
|
29
50
|
"""
|
|
30
51
|
Workflow for calculating pKa.
|
|
31
52
|
|
|
32
53
|
Inherited:
|
|
33
54
|
:param initial_molecule: Molecule of interest
|
|
34
55
|
:param mode: Mode for workflow
|
|
56
|
+
:param initial_smiles: SMILES of the molecule of interest
|
|
35
57
|
|
|
36
58
|
New:
|
|
59
|
+
:param microscopic_pka_method: method used for pka prediciton
|
|
60
|
+
:param solvent: solvent for the pka prediction
|
|
37
61
|
:param pka_range: range of pKa values to consider
|
|
38
62
|
:param deprotonate_elements: elements to deprotonate
|
|
39
63
|
:param deprotonate_atoms: atoms to deprotonate
|
|
@@ -51,6 +75,8 @@ class pKaWorkflow(MoleculeWorkflow):
|
|
|
51
75
|
|
|
52
76
|
mode: Mode = Mode.CAREFUL
|
|
53
77
|
|
|
78
|
+
microscopic_pka_method: MicroscopicpKaMethod = MicroscopicpKaMethod.CHEMPROP_NEVOLIANUS2025
|
|
79
|
+
solvent: Solvent = Solvent.WATER
|
|
54
80
|
pka_range: tuple[float, float] = (2, 12)
|
|
55
81
|
deprotonate_elements: list[int] = [7, 8, 16]
|
|
56
82
|
deprotonate_atoms: list[int] = []
|
|
@@ -64,3 +90,26 @@ class pKaWorkflow(MoleculeWorkflow):
|
|
|
64
90
|
conjugate_bases: list[pKaMicrostate] = []
|
|
65
91
|
strongest_acid: Annotated[float | None, AfterValidator(round_optional_float(3))] = None
|
|
66
92
|
strongest_base: Annotated[float | None, AfterValidator(round_optional_float(3))] = None
|
|
93
|
+
|
|
94
|
+
@model_validator(mode="after")
|
|
95
|
+
def check_method_settings(self) -> Self:
|
|
96
|
+
"""Check that models with limited domain of applicability are predicting within correct domain."""
|
|
97
|
+
match self.microscopic_pka_method:
|
|
98
|
+
case MicroscopicpKaMethod.AIMNET2_WAGEN2024:
|
|
99
|
+
if self.solvent is not Solvent.WATER:
|
|
100
|
+
raise ValueError(f"{self.microscopic_pka_method} only supports water")
|
|
101
|
+
case MicroscopicpKaMethod.CHEMPROP_NEVOLIANUS2025:
|
|
102
|
+
if self.solvent not in CHEMPROP_NEVOLIANUS2025_ALLOWED_SOLVENTS:
|
|
103
|
+
raise ValueError(f"Solvent `{self.solvent}` is not supported by method `{self.microscopic_pka_method}`.")
|
|
104
|
+
if len(self.protonate_atoms) or len(self.deprotonate_atoms):
|
|
105
|
+
raise ValueError(f"Method `{self.microscopic_pka_method}` does not support selecting atoms by number.")
|
|
106
|
+
return self
|
|
107
|
+
|
|
108
|
+
@model_validator(mode="after")
|
|
109
|
+
def validate_mol_input(self) -> Self:
|
|
110
|
+
"""Ensure that only one of initial_molecule or initial_smiles is set."""
|
|
111
|
+
|
|
112
|
+
if not (bool(self.initial_smiles) ^ bool(self.initial_molecule)):
|
|
113
|
+
raise ValueError("Can only set one of initial_molecule should and initial_smiles")
|
|
114
|
+
|
|
115
|
+
return self
|
|
@@ -1,13 +1,16 @@
|
|
|
1
|
-
"""Protein
|
|
1
|
+
"""Protein cofolding Workflow."""
|
|
2
2
|
|
|
3
|
-
from typing import Annotated, Literal
|
|
3
|
+
from typing import Annotated, Literal, TypeAlias
|
|
4
4
|
|
|
5
5
|
from pydantic import AfterValidator, BaseModel, ConfigDict
|
|
6
6
|
|
|
7
|
-
from ..base import LowercaseStrEnum, round_float
|
|
7
|
+
from ..base import LowercaseStrEnum, round_float, round_optional_float
|
|
8
8
|
from ..types import UUID, round_list
|
|
9
9
|
from .workflow import FASTAWorkflow
|
|
10
10
|
|
|
11
|
+
ProteinUUID: TypeAlias = UUID
|
|
12
|
+
CalculationUUID: TypeAlias = UUID
|
|
13
|
+
|
|
11
14
|
|
|
12
15
|
class CofoldingModel(LowercaseStrEnum):
|
|
13
16
|
"""Cofolding model to be used for prediction."""
|
|
@@ -45,6 +48,8 @@ class PocketConstraint(BaseModel):
|
|
|
45
48
|
|
|
46
49
|
|
|
47
50
|
class CofoldingScores(BaseModel):
|
|
51
|
+
"""The output scores from co-folding scores."""
|
|
52
|
+
|
|
48
53
|
confidence_score: Annotated[float, AfterValidator(round_float(3))]
|
|
49
54
|
ptm: Annotated[float, AfterValidator(round_float(3))] # predicted template modeling score
|
|
50
55
|
iptm: Annotated[float, AfterValidator(round_float(3))] # interface predicted template modeling score
|
|
@@ -71,7 +76,17 @@ class ProteinCofoldingWorkflow(FASTAWorkflow):
|
|
|
71
76
|
New:
|
|
72
77
|
:param use_msa_server: whether to use the MSA server
|
|
73
78
|
:param use_templates_server: whether to use the templates server
|
|
79
|
+
:param use_potentials: whether to use the potentials (inference-time steering) with Boltz
|
|
80
|
+
:param contact_constraints: Boltz contact constraints
|
|
81
|
+
:param pocket_constraints: Boltz pocket constraints
|
|
82
|
+
:param do_pose_refinement: whether to optimize non-rotatable bonds in output poses
|
|
83
|
+
:param compute_strain: whether to compute the strain of the pose (if `pose_refinement` is enabled)
|
|
84
|
+
:param model: which cofolding model to use
|
|
85
|
+
:param affinity_score: the affinity score
|
|
86
|
+
:param lddt: the local distance different test result
|
|
74
87
|
:param predicted_structure_uuid: UUID of the predicted structure
|
|
88
|
+
:param scores: the output cofolding scores
|
|
89
|
+
:param pose: the UUID of the calculation pose
|
|
75
90
|
"""
|
|
76
91
|
|
|
77
92
|
model_config = ConfigDict(validate_assignment=True)
|
|
@@ -81,9 +96,15 @@ class ProteinCofoldingWorkflow(FASTAWorkflow):
|
|
|
81
96
|
use_potentials: bool = False
|
|
82
97
|
contact_constraints: list[ContactConstraint] = []
|
|
83
98
|
pocket_constraints: list[PocketConstraint] = []
|
|
99
|
+
do_pose_refinement: bool = False
|
|
100
|
+
compute_strain: bool = False
|
|
84
101
|
|
|
85
|
-
predicted_structure_uuid: UUID | None = None
|
|
86
|
-
scores: CofoldingScores | None = None
|
|
87
102
|
model: CofoldingModel = CofoldingModel.BOLTZ_2
|
|
88
103
|
affinity_score: AffinityScore | None = None
|
|
89
104
|
lddt: Annotated[list[float] | None, AfterValidator(round_list(3))] = None
|
|
105
|
+
|
|
106
|
+
predicted_structure_uuid: ProteinUUID | None = None
|
|
107
|
+
scores: CofoldingScores | None = None
|
|
108
|
+
pose: CalculationUUID | None = None
|
|
109
|
+
posebusters_valid: bool | None = None
|
|
110
|
+
strain: Annotated[float | None, AfterValidator(round_optional_float(3))] = None
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
from typing import Annotated
|
|
2
|
+
|
|
3
|
+
from pydantic import AfterValidator
|
|
4
|
+
|
|
5
|
+
from ..base import round_float, round_optional_float
|
|
6
|
+
from ..mode import Mode
|
|
7
|
+
from ..settings import Settings
|
|
8
|
+
from ..types import UUID
|
|
9
|
+
from .conformer_search import ConformerGenSettingsUnion, ETKDGSettings
|
|
10
|
+
from .multistage_opt import MultiStageOptSettings
|
|
11
|
+
from .workflow import MoleculeWorkflow
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
class StrainWorkflow(MoleculeWorkflow):
|
|
15
|
+
"""
|
|
16
|
+
Workflow for calculating the strain of a given molecular geometry.
|
|
17
|
+
|
|
18
|
+
Inherited:
|
|
19
|
+
:param initial_molecule: Molecule of interest
|
|
20
|
+
:param mode: Mode for workflow (currently unused)
|
|
21
|
+
|
|
22
|
+
New:
|
|
23
|
+
:param conf_gen_settings : the conformer-search settings.
|
|
24
|
+
:param multistage_opt_settings: the optimization settings.
|
|
25
|
+
:param harmonic_constraint_spring_constant: the spring constant for the constraints in kcal/mol/Å
|
|
26
|
+
:param constrain_hydrogens: whether or not to constrain hydrogens
|
|
27
|
+
|
|
28
|
+
Results:
|
|
29
|
+
:param conformers: list of conformer UUIDs
|
|
30
|
+
:param constrained_optimization: the UUID of the optimized strained structure
|
|
31
|
+
:param strain: the actual strain in kcal/mol
|
|
32
|
+
"""
|
|
33
|
+
|
|
34
|
+
conf_gen_settings: ConformerGenSettingsUnion = ETKDGSettings(mode="rapid")
|
|
35
|
+
multistage_opt_settings: MultiStageOptSettings = MultiStageOptSettings(
|
|
36
|
+
mode=Mode.MANUAL,
|
|
37
|
+
optimization_settings=[Settings(method="aimnet2_wb97md3", tasks=["optimize"])],
|
|
38
|
+
singlepoint_settings=Settings(method="aimnet2_wb97md3", tasks=["energy"], solvent_settings={"solvent": "water", "model": "cpcmx"}),
|
|
39
|
+
)
|
|
40
|
+
|
|
41
|
+
harmonic_constraint_spring_constant: Annotated[float, AfterValidator(round_float(3))] = 5.0
|
|
42
|
+
constrain_hydrogens: bool = False
|
|
43
|
+
|
|
44
|
+
constrained_optimization: UUID | None = None
|
|
45
|
+
conformers: list[UUID | None] = []
|
|
46
|
+
strain: Annotated[float | None, AfterValidator(round_optional_float(3))] = None
|
|
@@ -9,7 +9,7 @@ stjames/constraint.py,sha256=B6oV0rYjmAWr8gpi5f03gRy_uuqjUURVDVwoez5Cfbg,2442
|
|
|
9
9
|
stjames/correction.py,sha256=ZVErCcj4TPyZeKrdvXVjHa0tFynsCaoy96QZUVxWFM8,413
|
|
10
10
|
stjames/engine.py,sha256=jaOHi3nhKZG85HAvKu-HuDl1Hh9nnJfhmOez2ghZXWA,293
|
|
11
11
|
stjames/message.py,sha256=Rq6QqmHZKecWxYH8fVyXmuoCCPZv8YinvgykSeorXSU,216
|
|
12
|
-
stjames/method.py,sha256=
|
|
12
|
+
stjames/method.py,sha256=3HJ-dSK75HG-YPzgDVT8lQ0Ttld-TF984qDDTTAJk9A,4762
|
|
13
13
|
stjames/mode.py,sha256=xw46Cc7f3eTS8i35qECi-8DocAlANhayK3w4akD4HBU,496
|
|
14
14
|
stjames/molecule.py,sha256=4Tsa_gRC4C-qGPop24jRIs2q07r0LGbSRb-ApOaZa5c,20839
|
|
15
15
|
stjames/opt_settings.py,sha256=LEwGXUEKq5TfU5rr60Z4QQBhCqiw1Ch5w0M_lXawWo8,642
|
|
@@ -18,7 +18,7 @@ stjames/periodic_cell.py,sha256=eV_mArsY_MPEFSrFEsTC-CyCc6V8ITAXdk7yhjjNI7M,1080
|
|
|
18
18
|
stjames/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
19
19
|
stjames/scf_settings.py,sha256=ecEVP3aKArNorpbP0mapnbc-EMjjzx4jeVW6q9tvqsw,436
|
|
20
20
|
stjames/settings.py,sha256=qZ3yhuMIQNiLs8Z-uEyVReSg2IQAjnDzQ6euHHqE6xI,6128
|
|
21
|
-
stjames/solvent.py,sha256=
|
|
21
|
+
stjames/solvent.py,sha256=flrGlwD4QavmXlIxeqlsiQv1F_PWyqBTKTDH9HjHdRg,1246
|
|
22
22
|
stjames/status.py,sha256=KQHDqWSd4kBLow23YLcfOkFdtqN61RFZI-jf2zANWRY,501
|
|
23
23
|
stjames/task.py,sha256=OLINRqe66o7t8arffilwmggrF_7TH0L79u6DhGruxV8,329
|
|
24
24
|
stjames/thermochem_settings.py,sha256=ZTLz31v8Ltutde5Nfm0vH5YahWjcfFWfr_R856KffxE,517
|
|
@@ -37,14 +37,14 @@ stjames/data/read_nist_isotopes.py,sha256=y10FNjW43QpC45qib7VHsIghEwT7GG5rsNwHdc
|
|
|
37
37
|
stjames/data/symbol_element.json,sha256=vl_buFusTqBd-muYQtMLtTDLy2OtBI6KkBeqkaWRQrg,1186
|
|
38
38
|
stjames/optimization/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
39
39
|
stjames/optimization/freezing_string_method.py,sha256=eEQBqbYHgJH9gVRLDIFtGuPcsHHMLAAt1hF3jtq70lo,2285
|
|
40
|
-
stjames/workflows/__init__.py,sha256
|
|
40
|
+
stjames/workflows/__init__.py,sha256=I-s6f6uz7PXpeKsvQlL04wswId2mW2u7thk309TC7ng,3165
|
|
41
41
|
stjames/workflows/admet.py,sha256=h8ph6oeRCxU3-_jqRRWPg3RZcheu9JzCHiWqSC9VYKY,1296
|
|
42
42
|
stjames/workflows/basic_calculation.py,sha256=sAgHBcNHE72ZbZPB9vyZShALRC4zOVw6It6cpJlbX2A,911
|
|
43
43
|
stjames/workflows/bde.py,sha256=g_In-caftXiimrhfdptHjpfrYQUs3vF58qYmRnaTN8g,10825
|
|
44
44
|
stjames/workflows/conformer.py,sha256=18aO6ngMBeGAmQkBdLGCCHr398RIYr1v2hD2IT1u4cc,3005
|
|
45
|
-
stjames/workflows/conformer_search.py,sha256=
|
|
45
|
+
stjames/workflows/conformer_search.py,sha256=sQayHL5aGY8WssQOGW4lPh1aXLfcPJewG9WUiC8il6A,14744
|
|
46
46
|
stjames/workflows/descriptors.py,sha256=T4tc7xdtBdxESGO86KR323jPQ2pgwxBqgV0khA6MEgQ,584
|
|
47
|
-
stjames/workflows/docking.py,sha256=
|
|
47
|
+
stjames/workflows/docking.py,sha256=sJFSGyIve-q55UEir2rV9Pk7L09_pPuSy2K00JLvA68,4138
|
|
48
48
|
stjames/workflows/double_ended_ts_search.py,sha256=ovJgEVFc6c3mijCE3TKAY70YvqNmAZ5Y4XgV4-tIxBI,3127
|
|
49
49
|
stjames/workflows/electronic_properties.py,sha256=GT3-NC7w-dbcOJ-3AzJ7LgzH6frTbiH2Iyb9BCa-SvY,4112
|
|
50
50
|
stjames/workflows/fukui.py,sha256=095GDGSSEc5PDD1aoKM8J7icgR5tfwS5Bs9XxFQHge4,2387
|
|
@@ -55,17 +55,18 @@ stjames/workflows/macropka.py,sha256=Krj0xXuB-u57Kqlf4bbRiHDUWCpliFr6YPiYqPmYaWk
|
|
|
55
55
|
stjames/workflows/molecular_dynamics.py,sha256=HqWNxxPSAphfI0DdbTERFkq8UeBjEvhnA_ETv0xw_RY,3522
|
|
56
56
|
stjames/workflows/multistage_opt.py,sha256=UN-4WLsT2WEjO5KqDPrcCkb708Co-ZScHx3g2bto768,16597
|
|
57
57
|
stjames/workflows/nmr.py,sha256=1QEF4SB6dWIr-jzLEZ7V972UnRUOTufOJSHwIGyV3dM,2681
|
|
58
|
-
stjames/workflows/pka.py,sha256=
|
|
58
|
+
stjames/workflows/pka.py,sha256=t2a2eozMpGgtslk_tVo38-9ZT4Lf-7-q6XUOgeKpvQA,4390
|
|
59
59
|
stjames/workflows/pose_analysis_md.py,sha256=ES0XlzaLpTjhLrNvcB0zFZa1b1ZHXekN72EbLsx0Skw,4723
|
|
60
|
-
stjames/workflows/protein_cofolding.py,sha256=
|
|
60
|
+
stjames/workflows/protein_cofolding.py,sha256=mRdQoBWGYBqT8eEGfQ8yFLAcLJToYT_kIfvOQD68QVc,4039
|
|
61
61
|
stjames/workflows/redox_potential.py,sha256=7S18t9Y3eynSnA3lZbRlvLfdbgeBopdiigLzt1zxg5c,3871
|
|
62
62
|
stjames/workflows/scan.py,sha256=DXQBpa2t2PowAtOwmdgpxaSLq--fEShljzAGSb8Nf5U,2993
|
|
63
63
|
stjames/workflows/solubility.py,sha256=lfCVvJjqEaddLUpK6WBxjB7u12Sci-K95A5_qIMkIRM,3028
|
|
64
64
|
stjames/workflows/spin_states.py,sha256=0degmE-frovgoXweshZyjfjqL7nkbaFoO9YoJhvQnaI,4748
|
|
65
|
+
stjames/workflows/strain.py,sha256=paYxDDQTB1eYP_c2kLVz1-QX7Vpw0LLb3ujnFin_SOM,1834
|
|
65
66
|
stjames/workflows/tautomer.py,sha256=7eYKziGPg8Km6lfowTzSkgJfJ4SHUPrAmnTf8Bi-SB0,1164
|
|
66
67
|
stjames/workflows/workflow.py,sha256=OE05pt2ZOd8TzTOlBngXCVg9wv_553ZR60VNRPlq0f8,1953
|
|
67
|
-
stjames-0.0.
|
|
68
|
-
stjames-0.0.
|
|
69
|
-
stjames-0.0.
|
|
70
|
-
stjames-0.0.
|
|
71
|
-
stjames-0.0.
|
|
68
|
+
stjames-0.0.106.dist-info/licenses/LICENSE,sha256=i05z7xEhyrg6f8j0lR3XYjShnF-MJGFQ-DnpsZ8yiVI,1084
|
|
69
|
+
stjames-0.0.106.dist-info/METADATA,sha256=7Qyi3dJCiwrW2dN_xEK8X7uozRtTPU4s27jkLNs3DSs,1725
|
|
70
|
+
stjames-0.0.106.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
71
|
+
stjames-0.0.106.dist-info/top_level.txt,sha256=FYCwxl6quhYOAgG-mnPQcCK8vsVM7B8rIUrO-WrQ_PI,8
|
|
72
|
+
stjames-0.0.106.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|