stjames 0.0.94__py3-none-any.whl → 0.0.95__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/scf_settings.py +16 -4
- stjames/workflows/__init__.py +3 -0
- stjames/workflows/ion_mobility.py +11 -6
- stjames/workflows/nmr.py +54 -0
- {stjames-0.0.94.dist-info → stjames-0.0.95.dist-info}/METADATA +1 -1
- {stjames-0.0.94.dist-info → stjames-0.0.95.dist-info}/RECORD +9 -8
- {stjames-0.0.94.dist-info → stjames-0.0.95.dist-info}/WHEEL +0 -0
- {stjames-0.0.94.dist-info → stjames-0.0.95.dist-info}/licenses/LICENSE +0 -0
- {stjames-0.0.94.dist-info → stjames-0.0.95.dist-info}/top_level.txt +0 -0
stjames/scf_settings.py
CHANGED
|
@@ -1,7 +1,19 @@
|
|
|
1
|
-
from
|
|
1
|
+
from .base import Base, LowercaseStrEnum
|
|
2
2
|
|
|
3
3
|
|
|
4
|
-
class
|
|
5
|
-
|
|
4
|
+
class UseSOSCF(LowercaseStrEnum):
|
|
5
|
+
ALWAYS = "always"
|
|
6
|
+
UPON_FAILURE = "upon_failure"
|
|
7
|
+
NEVER = "never"
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class SCFSettings(Base):
|
|
11
|
+
"""
|
|
12
|
+
Settings for SCF convergence.
|
|
6
13
|
|
|
7
|
-
|
|
14
|
+
:param max_iters: the maximum number of SCF iterations to permit
|
|
15
|
+
:param soscf: whether or not to use SOSCF (second-order SCF).
|
|
16
|
+
"""
|
|
17
|
+
|
|
18
|
+
max_iters: int = 250
|
|
19
|
+
soscf: UseSOSCF = UseSOSCF.UPON_FAILURE
|
stjames/workflows/__init__.py
CHANGED
|
@@ -17,6 +17,7 @@ from .irc import *
|
|
|
17
17
|
from .macropka import *
|
|
18
18
|
from .molecular_dynamics import *
|
|
19
19
|
from .multistage_opt import *
|
|
20
|
+
from .nmr import *
|
|
20
21
|
from .pka import *
|
|
21
22
|
from .pose_analysis_md import *
|
|
22
23
|
from .protein_cofolding import *
|
|
@@ -43,6 +44,7 @@ WORKFLOW_NAME = Literal[
|
|
|
43
44
|
"macropka",
|
|
44
45
|
"molecular_dynamics",
|
|
45
46
|
"multistage_opt",
|
|
47
|
+
"nmr",
|
|
46
48
|
"pka",
|
|
47
49
|
"pose_analysis_md",
|
|
48
50
|
"protein_cofolding",
|
|
@@ -69,6 +71,7 @@ WORKFLOW_MAPPING: dict[WORKFLOW_NAME, Workflow] = {
|
|
|
69
71
|
"macropka": MacropKaWorkflow, # type: ignore [dict-item]
|
|
70
72
|
"molecular_dynamics": MolecularDynamicsWorkflow, # type: ignore [dict-item]
|
|
71
73
|
"multistage_opt": MultiStageOptWorkflow, # type: ignore [dict-item]
|
|
74
|
+
"nmr": NMRSpectroscopyWorkflow, # type: ignore [dict-item]
|
|
72
75
|
"pka": pKaWorkflow, # type: ignore [dict-item]
|
|
73
76
|
"pose_analysis_md": PoseAnalysisMolecularDynamicsWorkflow, # type: ignore [dict-item]
|
|
74
77
|
"protein_cofolding": ProteinCofoldingWorkflow, # type: ignore [dict-item]
|
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
"""Ion mobility workflow."""
|
|
2
2
|
|
|
3
|
-
from
|
|
3
|
+
from typing import Annotated
|
|
4
|
+
|
|
5
|
+
from pydantic import AfterValidator
|
|
6
|
+
|
|
7
|
+
from ..base import round_optional_float
|
|
8
|
+
from ..types import UUID, round_list
|
|
4
9
|
from .workflow import MoleculeWorkflow
|
|
5
10
|
|
|
6
11
|
|
|
@@ -34,9 +39,9 @@ class IonMobilityWorkflow(MoleculeWorkflow):
|
|
|
34
39
|
|
|
35
40
|
conformers: list[UUID] = []
|
|
36
41
|
|
|
37
|
-
conformer_ccs: list[float] = []
|
|
38
|
-
conformer_ccs_stdev: list[float] = []
|
|
39
|
-
boltzmann_weights: list[float] = []
|
|
42
|
+
conformer_ccs: Annotated[list[float], AfterValidator(round_list(3))] = []
|
|
43
|
+
conformer_ccs_stdev: Annotated[list[float], AfterValidator(round_list(3))] = []
|
|
44
|
+
boltzmann_weights: Annotated[list[float], AfterValidator(round_list(3))] = []
|
|
40
45
|
|
|
41
|
-
average_ccs: float | None = None
|
|
42
|
-
average_ccs_stdev: float | None = None
|
|
46
|
+
average_ccs: Annotated[float | None, AfterValidator(round_optional_float(3))] = None
|
|
47
|
+
average_ccs_stdev: Annotated[float | None, AfterValidator(round_optional_float(3))] = None
|
stjames/workflows/nmr.py
ADDED
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"""Nuclear-magnetic-resonance spectroscopy workflow."""
|
|
2
|
+
|
|
3
|
+
from typing import Annotated
|
|
4
|
+
|
|
5
|
+
from pydantic import AfterValidator
|
|
6
|
+
|
|
7
|
+
from ..base import LowercaseStrEnum
|
|
8
|
+
from ..mode import Mode
|
|
9
|
+
from ..settings import Settings
|
|
10
|
+
from ..solvent import Solvent
|
|
11
|
+
from ..types import UUID, round_list
|
|
12
|
+
from .conformer_search import ConformerGenSettings, iMTDSettings
|
|
13
|
+
from .multistage_opt import MultiStageOptSettings
|
|
14
|
+
from .workflow import MoleculeWorkflow
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
class NMRMethod(LowercaseStrEnum):
|
|
18
|
+
MAGNETZERO = "magnet-zero"
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
class NMRSpectroscopyWorkflow(MoleculeWorkflow):
|
|
22
|
+
"""
|
|
23
|
+
Workflow for calculating NMR spectra.
|
|
24
|
+
|
|
25
|
+
Inherited:
|
|
26
|
+
:param initial_molecule: Molecule of interest
|
|
27
|
+
:param mode: Mode for workflow (currently unused)
|
|
28
|
+
|
|
29
|
+
New:
|
|
30
|
+
:param nmr_method: how to run the NMR calculations
|
|
31
|
+
:param solvent: the solvent in which to run the calculations
|
|
32
|
+
:param conf_gen_settings : the conformer-search settings. if `None`, no conformer search will be performed
|
|
33
|
+
:param multistage_opt_settings: the optimization settings. if `None`, no optimization will be performed
|
|
34
|
+
|
|
35
|
+
Results:
|
|
36
|
+
:param conformers: list of conformer UUIDs
|
|
37
|
+
:param boltzmann_weights: the boltzmann weights for each conformer
|
|
38
|
+
:param per_conformer_isotopic_shieldings: the per-atom shieldings for each conformer
|
|
39
|
+
:param isotopic_shieldings: the per-atom shieldings
|
|
40
|
+
"""
|
|
41
|
+
|
|
42
|
+
nmr_method: NMRMethod = NMRMethod.MAGNETZERO
|
|
43
|
+
solvent: Solvent = Solvent.CHLOROFORM
|
|
44
|
+
|
|
45
|
+
conf_gen_settings: ConformerGenSettings | None = iMTDSettings(mode="careful")
|
|
46
|
+
multistage_opt_settings: MultiStageOptSettings | None = MultiStageOptSettings(
|
|
47
|
+
mode=Mode.MANUAL,
|
|
48
|
+
optimization_settings=[Settings(method="aimnet2_wb97md3")],
|
|
49
|
+
)
|
|
50
|
+
|
|
51
|
+
conformers: list[UUID] = []
|
|
52
|
+
boltzmann_weights: Annotated[list[float], AfterValidator(round_list(3))] = []
|
|
53
|
+
per_conformer_isotropic_shieldings: list[Annotated[list[float], AfterValidator(round_list(3))]] = []
|
|
54
|
+
isotropic_shieldings: Annotated[list[float], AfterValidator(round_list(3))] = []
|
|
@@ -16,7 +16,7 @@ stjames/opt_settings.py,sha256=LEwGXUEKq5TfU5rr60Z4QQBhCqiw1Ch5w0M_lXawWo8,642
|
|
|
16
16
|
stjames/pdb.py,sha256=6ayVUUdTufkXs_nfpRQuT1yGvymuyICB4L5Wh55OsaA,26507
|
|
17
17
|
stjames/periodic_cell.py,sha256=eV_mArsY_MPEFSrFEsTC-CyCc6V8ITAXdk7yhjjNI7M,1080
|
|
18
18
|
stjames/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
19
|
-
stjames/scf_settings.py,sha256=
|
|
19
|
+
stjames/scf_settings.py,sha256=ecEVP3aKArNorpbP0mapnbc-EMjjzx4jeVW6q9tvqsw,436
|
|
20
20
|
stjames/settings.py,sha256=qZ3yhuMIQNiLs8Z-uEyVReSg2IQAjnDzQ6euHHqE6xI,6128
|
|
21
21
|
stjames/solvent.py,sha256=u037tmu-9oa21s-WEDZ7VC7nuNVjkqR2ML4JWjWSME4,1158
|
|
22
22
|
stjames/status.py,sha256=KQHDqWSd4kBLow23YLcfOkFdtqN61RFZI-jf2zANWRY,501
|
|
@@ -35,7 +35,7 @@ stjames/data/isotopes.json,sha256=5ba8QnLrHD_Ypv2xekv2cIRwYrX3MQ19-1FOFtt0RuU,83
|
|
|
35
35
|
stjames/data/nist_isotopes.json,sha256=d5DNk1dX0iB1waEYIRR6JMHuA7AuYwSBEgBvb4EKyhM,14300
|
|
36
36
|
stjames/data/read_nist_isotopes.py,sha256=y10FNjW43QpC45qib7VHsIghEwT7GG5rsNwHdc9osRI,3309
|
|
37
37
|
stjames/data/symbol_element.json,sha256=vl_buFusTqBd-muYQtMLtTDLy2OtBI6KkBeqkaWRQrg,1186
|
|
38
|
-
stjames/workflows/__init__.py,sha256=
|
|
38
|
+
stjames/workflows/__init__.py,sha256=wGTCSEvGmLVG-dnkylVsKq7_27n8gQlFfsJiX9RN33w,2890
|
|
39
39
|
stjames/workflows/admet.py,sha256=h8ph6oeRCxU3-_jqRRWPg3RZcheu9JzCHiWqSC9VYKY,1296
|
|
40
40
|
stjames/workflows/basic_calculation.py,sha256=ZX3KwhfyyCTjc2ougQIL4If7gtwZP9WjqpL45mBquW0,573
|
|
41
41
|
stjames/workflows/bde.py,sha256=g_In-caftXiimrhfdptHjpfrYQUs3vF58qYmRnaTN8g,10825
|
|
@@ -46,11 +46,12 @@ stjames/workflows/docking.py,sha256=CgpLjMfpPka1fcg0VJPeyJCOnZjnJTrgfNeMAKiX4zM,
|
|
|
46
46
|
stjames/workflows/electronic_properties.py,sha256=GT3-NC7w-dbcOJ-3AzJ7LgzH6frTbiH2Iyb9BCa-SvY,4112
|
|
47
47
|
stjames/workflows/fukui.py,sha256=T6TDg-lcE-sfTDVpa3KFBenLe7PGUO2QrQ2jNuw_iiU,1756
|
|
48
48
|
stjames/workflows/hydrogen_bond_basicity.py,sha256=q9eXty68ZyCmrB6G_8bfeOT8Ui_IQquRPu6z-3rNreQ,1589
|
|
49
|
-
stjames/workflows/ion_mobility.py,sha256=
|
|
49
|
+
stjames/workflows/ion_mobility.py,sha256=rvvAt4ZD-Npl0tHL7TEuaS3XKjHiMkSZVzyJoivdyps,1665
|
|
50
50
|
stjames/workflows/irc.py,sha256=ZP7icylW8rgo_Uh7h3bmyumn0ru1IyF-61nP5Jnmq3M,3402
|
|
51
51
|
stjames/workflows/macropka.py,sha256=KRIyk4gsSYL3eqyzCDndStGLwjWSo60cgCAzvAoD1Nk,3754
|
|
52
52
|
stjames/workflows/molecular_dynamics.py,sha256=kxugE73Ntzpj-xpJSoQ1EwGzXXdvi_NTyeP4913EVwE,3173
|
|
53
53
|
stjames/workflows/multistage_opt.py,sha256=SpbA8hNvktnlLS7C-9mBNGluBSrdVS8ygHl1C4TzWcI,16499
|
|
54
|
+
stjames/workflows/nmr.py,sha256=mSmBl_kp5sWKExO-2xxfcqGtf-cot3YTcGpzBfoh68g,2023
|
|
54
55
|
stjames/workflows/pka.py,sha256=j3vBh2YM3nJzJ1XJKPsmYahRCeaU9n3P-G-u9_moaFw,2065
|
|
55
56
|
stjames/workflows/pose_analysis_md.py,sha256=ES0XlzaLpTjhLrNvcB0zFZa1b1ZHXekN72EbLsx0Skw,4723
|
|
56
57
|
stjames/workflows/protein_cofolding.py,sha256=6WWbVOGzFjIRgQLMmMVODfIxo1jYFmRS1xnJmN0kOBw,3016
|
|
@@ -60,8 +61,8 @@ stjames/workflows/solubility.py,sha256=kGfVyPPGDLRpf2j6dSY7woCkfsoXSbUzdSImA4mcM
|
|
|
60
61
|
stjames/workflows/spin_states.py,sha256=0degmE-frovgoXweshZyjfjqL7nkbaFoO9YoJhvQnaI,4748
|
|
61
62
|
stjames/workflows/tautomer.py,sha256=7eYKziGPg8Km6lfowTzSkgJfJ4SHUPrAmnTf8Bi-SB0,1164
|
|
62
63
|
stjames/workflows/workflow.py,sha256=OE05pt2ZOd8TzTOlBngXCVg9wv_553ZR60VNRPlq0f8,1953
|
|
63
|
-
stjames-0.0.
|
|
64
|
-
stjames-0.0.
|
|
65
|
-
stjames-0.0.
|
|
66
|
-
stjames-0.0.
|
|
67
|
-
stjames-0.0.
|
|
64
|
+
stjames-0.0.95.dist-info/licenses/LICENSE,sha256=i7ehYBS-6gGmbTcgU4mgk28pyOx2kScJ0kcx8n7bWLM,1084
|
|
65
|
+
stjames-0.0.95.dist-info/METADATA,sha256=q5rJgbtmQrLOVntdIyE6pAkA3LPaKAmLyCrqZ3FUCkI,1724
|
|
66
|
+
stjames-0.0.95.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
67
|
+
stjames-0.0.95.dist-info/top_level.txt,sha256=FYCwxl6quhYOAgG-mnPQcCK8vsVM7B8rIUrO-WrQ_PI,8
|
|
68
|
+
stjames-0.0.95.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|