stjames 0.0.70__py3-none-any.whl → 0.0.71__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.

@@ -425,7 +425,7 @@ def update_models_list(mmcif_dict: dict[str, Any], data_dict: dict[str, Any]) ->
425
425
 
426
426
  data_dict["models"] = []
427
427
  types = {e["id"]: e["type"] for e in mmcif_dict.get("entity", {})}
428
- names = {e["id"]: e["name"] for e in mmcif_dict.get("chem_comp", {}) if e["mon_nstd_flag"] != "y"}
428
+ names = {e["id"]: e["name"] for e in mmcif_dict.get("chem_comp", {}) if e.get("mon_nstd_flag", "n") != "y"}
429
429
  entities = {m["id"]: m["entity_id"] for m in mmcif_dict.get("struct_asym", [])}
430
430
 
431
431
  # sequences = make_sequences(mmcif_dict)
@@ -18,6 +18,7 @@ from .macropka import *
18
18
  from .molecular_dynamics import *
19
19
  from .multistage_opt import *
20
20
  from .pka import *
21
+ from .protein_cofolding import *
21
22
  from .redox_potential import *
22
23
  from .scan import *
23
24
  from .solubility import *
@@ -42,6 +43,7 @@ WORKFLOW_NAME = Literal[
42
43
  "molecular_dynamics",
43
44
  "multistage_opt",
44
45
  "pka",
46
+ "protein_cofolding",
45
47
  "redox_potential",
46
48
  "scan",
47
49
  "solubility",
@@ -70,5 +72,6 @@ WORKFLOW_MAPPING: dict[WORKFLOW_NAME, Workflow] = {
70
72
  "scan": ScanWorkflow, # type: ignore [dict-item]
71
73
  "solubility": SolubilityWorkflow, # type: ignore [dict-item]
72
74
  "spin_states": SpinStatesWorkflow, # type: ignore [dict-item]
75
+ "protein_cofolding": ProteinCofoldingWorkflow, # type: ignore [dict-item]
73
76
  "tautomers": TautomerWorkflow, # type: ignore [dict-item]
74
77
  }
@@ -45,24 +45,35 @@ class MacropKaWorkflow(SMILESWorkflow):
45
45
  :param initial_smiles:
46
46
 
47
47
  New:
48
- :param temperature: the temperature, in K
49
- :param min_pH: for precomputed microstate weights
50
- :param max_pH: for precomputed microstate weights
48
+ :param min_pH: for precomputed microstate weights, logD, etc
49
+ :param max_pH: for precomputed microstate weights, logD, etc
50
+ :param max_charge: max charge to consider for microstates
51
+ :param min_charge: min charge to consider for microstates
52
+ :param compute_aqueous_solubility: whether or not to compute aqueous solubility
53
+ :param compute_solvation_energy: whether to run a csearch + compute the solvation energy (for Kpuu)
51
54
 
52
55
  Results:
53
56
  :param microstates: microstates
54
57
  :param pKa_values: macroscopic pKa values
55
- :param microstate_weights_by_pH: precompute the % of different microstates
58
+ :param isoelectric_point: the isoelectric point (in pH units)
59
+ :param solvation_energy: the solvation energy, in kcal/mol
60
+ :param microstate_weights_by_pH: the % of different microstates by pH
61
+ :param logD_by_pH: the distribution constant (water/octanol) by pH
62
+ :param aqueous_solubility_by_pH: the log(S)/L of the compound in water, by pH
56
63
  """
57
64
 
58
65
  min_pH: Annotated[float, AfterValidator(round_float(3))] = 0.0
59
66
  max_pH: Annotated[float, AfterValidator(round_float(3))] = 14.0
60
-
61
67
  max_charge: int = 2
62
68
  min_charge: int = -2
69
+ compute_aqueous_solubility: bool = False
70
+ compute_solvation_energy: bool = True
63
71
 
64
72
  microstates: list[MacropKaMicrostate] = []
65
73
  pKa_values: list[MacropKaValue] = []
74
+ isoelectric_point: Annotated[Optional[float], AfterValidator(round_float(3))] = None
75
+ solvation_energy: Annotated[Optional[float], AfterValidator(round_float(3))] = None
76
+
66
77
  microstate_weights_by_pH: list[
67
78
  tuple[
68
79
  Annotated[float, AfterValidator(round_float(3))],
@@ -70,8 +81,6 @@ class MacropKaWorkflow(SMILESWorkflow):
70
81
  ]
71
82
  ] = []
72
83
 
73
- isoelectric_point: Annotated[Optional[float], AfterValidator(round_float(3))] = None
74
-
75
84
  logD_by_pH: list[
76
85
  tuple[
77
86
  Annotated[float, AfterValidator(round_float(3))],
@@ -0,0 +1,31 @@
1
+ """Protein Cofolding Workflow."""
2
+
3
+ from pydantic import BaseModel
4
+
5
+ from ..types import UUID
6
+ from .workflow import FASTAWorkflow
7
+
8
+
9
+ class CofoldingScores(BaseModel):
10
+ confidence_score: float
11
+ ptm: float # predicted template modelling score
12
+ iptm: float # interface predicted template modelling score
13
+
14
+
15
+ class ProteinCofoldingWorkflow(FASTAWorkflow):
16
+ """
17
+ A workflow for predicting structures. Especially protein structures.
18
+
19
+ Inherited:
20
+ :param initial_fasta: fasta string of interest
21
+
22
+ New:
23
+ :param use_msa_server: whether to use the MSA server
24
+ :param use_templates_server: whether to use the templates server
25
+ :param predicted_structure_uuid: UUID of the predicted structure
26
+ """
27
+
28
+ use_msa_server: bool = False
29
+ use_templates_server: bool = False
30
+ predicted_structure_uuid: UUID | None = None
31
+ scores: CofoldingScores | None = None
@@ -22,6 +22,19 @@ class Workflow(Base):
22
22
  return repr(self)
23
23
 
24
24
 
25
+ class FASTAWorkflow(Workflow):
26
+ """
27
+ Base class for Workflows that operate on a fasta string.
28
+
29
+ :param initial_fasta: fasta string of interest
30
+ """
31
+
32
+ initial_fasta: str
33
+
34
+ def __repr__(self) -> str:
35
+ return f"<{type(self).__name__} {self.initial_fasta}>"
36
+
37
+
25
38
  class SMILESWorkflow(Workflow):
26
39
  """
27
40
  Base class for Workflows that operate on a single SMILES string.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: stjames
3
- Version: 0.0.70
3
+ Version: 0.0.71
4
4
  Summary: standardized JSON atom/molecule encoding scheme
5
5
  Author-email: Corin Wagen <corin@rowansci.com>
6
6
  Project-URL: Homepage, https://github.com/rowansci/stjames
@@ -27,7 +27,7 @@ stjames/thermochem_settings.py,sha256=ZTLz31v8Ltutde5Nfm0vH5YahWjcfFWfr_R856Kffx
27
27
  stjames/types.py,sha256=rs2CdpkruIfU-PS98rjr9HAJNFGdZDB_zl-u3wa5rAs,4092
28
28
  stjames/atomium_stjames/__init__.py,sha256=gZkzC7i9D_fmWUTN55gtygITo3-qvJUda5CXLR0jyCQ,306
29
29
  stjames/atomium_stjames/data.py,sha256=-hzwBpTHq5JetsOVyopUJswKnKAkMtJ_XkONxjXVupU,5675
30
- stjames/atomium_stjames/mmcif.py,sha256=B5t_gxvMTG8OblXUWF0dnKgOHhn-8bufOv_a7ccbiqU,27081
30
+ stjames/atomium_stjames/mmcif.py,sha256=em1fNt6577OaUjL7Pctru7aJp3ceZ9kEnj5w6BRWdVs,27090
31
31
  stjames/atomium_stjames/pdb.py,sha256=C2mEcBDDrnoXD9ZCMIH2uJpjiWPJy6ktXq8IFZsrQKM,22482
32
32
  stjames/atomium_stjames/utilities.py,sha256=-YtM7sRMvMk0wWrC3svWUWH4CGI0NtY77nXsg9tjHfc,4964
33
33
  stjames/data/__init__.py,sha256=O59Ksp7AIqwOELCWymfCx7YeBzwNOGCMlGQi7tNLqiE,24
@@ -37,7 +37,7 @@ stjames/data/isotopes.json,sha256=5ba8QnLrHD_Ypv2xekv2cIRwYrX3MQ19-1FOFtt0RuU,83
37
37
  stjames/data/nist_isotopes.json,sha256=d5DNk1dX0iB1waEYIRR6JMHuA7AuYwSBEgBvb4EKyhM,14300
38
38
  stjames/data/read_nist_isotopes.py,sha256=y10FNjW43QpC45qib7VHsIghEwT7GG5rsNwHdc9osRI,3309
39
39
  stjames/data/symbol_element.json,sha256=vl_buFusTqBd-muYQtMLtTDLy2OtBI6KkBeqkaWRQrg,1186
40
- stjames/workflows/__init__.py,sha256=X8uBwvmpaP38QQxYlvl9TbejEnnujpyWCLbxq0gRKao,2512
40
+ stjames/workflows/__init__.py,sha256=rC4KfLzrOKr5FlS4uT3UW1s36-y32vp20VGCw0iHQp0,2649
41
41
  stjames/workflows/admet.py,sha256=h8ph6oeRCxU3-_jqRRWPg3RZcheu9JzCHiWqSC9VYKY,1296
42
42
  stjames/workflows/basic_calculation.py,sha256=ZX3KwhfyyCTjc2ougQIL4If7gtwZP9WjqpL45mBquW0,573
43
43
  stjames/workflows/bde.py,sha256=hdTjwma5L9SrU5F5r6dB1ruB_B6buBUtZHf2sanNW2k,9802
@@ -50,18 +50,19 @@ stjames/workflows/fukui.py,sha256=T6TDg-lcE-sfTDVpa3KFBenLe7PGUO2QrQ2jNuw_iiU,17
50
50
  stjames/workflows/hydrogen_bond_basicity.py,sha256=XDpHEluw6DQ9Zk5g2Je2a81HqIkqPglZ-6f2YZnd4Bc,1159
51
51
  stjames/workflows/ion_mobility.py,sha256=e6XSidrud5qSkrAcjzOzgHaf-G09JoP09V76myjdyjc,1097
52
52
  stjames/workflows/irc.py,sha256=ZP7icylW8rgo_Uh7h3bmyumn0ru1IyF-61nP5Jnmq3M,3402
53
- stjames/workflows/macropka.py,sha256=k7ebG4s-GoTG3ZKxq-OQ7gmzT8Yaq_Zd4pkL7pqL_pI,2827
53
+ stjames/workflows/macropka.py,sha256=jFdo0log2ZDeqXYcLpGHq3L9zEUJLBgVQhzrwtKCM44,3566
54
54
  stjames/workflows/molecular_dynamics.py,sha256=kxugE73Ntzpj-xpJSoQ1EwGzXXdvi_NTyeP4913EVwE,3173
55
55
  stjames/workflows/multistage_opt.py,sha256=pPLAZDztHd37q8cxCUkdq8EzOFyrTzZJHNfDV5auiHs,13638
56
56
  stjames/workflows/pka.py,sha256=j3vBh2YM3nJzJ1XJKPsmYahRCeaU9n3P-G-u9_moaFw,2065
57
+ stjames/workflows/protein_cofolding.py,sha256=woDdmyMYVhrmOyB55mxIP56Rpw6iElDoS5YiX5oyixY,883
57
58
  stjames/workflows/redox_potential.py,sha256=7S18t9Y3eynSnA3lZbRlvLfdbgeBopdiigLzt1zxg5c,3871
58
59
  stjames/workflows/scan.py,sha256=DXQBpa2t2PowAtOwmdgpxaSLq--fEShljzAGSb8Nf5U,2993
59
60
  stjames/workflows/solubility.py,sha256=kGfVyPPGDLRpf2j6dSY7woCkfsoXSbUzdSImA4mcMpw,1898
60
61
  stjames/workflows/spin_states.py,sha256=0degmE-frovgoXweshZyjfjqL7nkbaFoO9YoJhvQnaI,4748
61
62
  stjames/workflows/tautomer.py,sha256=7eYKziGPg8Km6lfowTzSkgJfJ4SHUPrAmnTf8Bi-SB0,1164
62
- stjames/workflows/workflow.py,sha256=sk2BUz59wdIkT_EyKOnMt5woNrjo3aHVK38cU8x8I7Q,1423
63
- stjames-0.0.70.dist-info/licenses/LICENSE,sha256=i7ehYBS-6gGmbTcgU4mgk28pyOx2kScJ0kcx8n7bWLM,1084
64
- stjames-0.0.70.dist-info/METADATA,sha256=MOZJAAQ9roamz5kJ2Y5_vzOmCU97hPvzi_4pG6KhVDM,1694
65
- stjames-0.0.70.dist-info/WHEEL,sha256=CmyFI0kx5cdEMTLiONQRbGQwjIoR1aIYB7eCAQ4KPJ0,91
66
- stjames-0.0.70.dist-info/top_level.txt,sha256=FYCwxl6quhYOAgG-mnPQcCK8vsVM7B8rIUrO-WrQ_PI,8
67
- stjames-0.0.70.dist-info/RECORD,,
63
+ stjames/workflows/workflow.py,sha256=dmJbjI3Ng95zHEZd1Qkhhk5Eb1aF4W36Oy_GwZPJdBk,1704
64
+ stjames-0.0.71.dist-info/licenses/LICENSE,sha256=i7ehYBS-6gGmbTcgU4mgk28pyOx2kScJ0kcx8n7bWLM,1084
65
+ stjames-0.0.71.dist-info/METADATA,sha256=jFy2RQUS3wHe4vRo0w-OZskC6Yk3ctdMAhYhDrNPE-Q,1694
66
+ stjames-0.0.71.dist-info/WHEEL,sha256=CmyFI0kx5cdEMTLiONQRbGQwjIoR1aIYB7eCAQ4KPJ0,91
67
+ stjames-0.0.71.dist-info/top_level.txt,sha256=FYCwxl6quhYOAgG-mnPQcCK8vsVM7B8rIUrO-WrQ_PI,8
68
+ stjames-0.0.71.dist-info/RECORD,,