stjames 0.0.80__tar.gz → 0.0.81__tar.gz
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-0.0.80/stjames.egg-info → stjames-0.0.81}/PKG-INFO +1 -1
- {stjames-0.0.80 → stjames-0.0.81}/pyproject.toml +1 -1
- {stjames-0.0.80 → stjames-0.0.81}/stjames/types.py +11 -0
- stjames-0.0.81/stjames/workflows/protein_cofolding.py +61 -0
- {stjames-0.0.80 → stjames-0.0.81/stjames.egg-info}/PKG-INFO +1 -1
- stjames-0.0.80/stjames/workflows/protein_cofolding.py +0 -55
- {stjames-0.0.80 → stjames-0.0.81}/LICENSE +0 -0
- {stjames-0.0.80 → stjames-0.0.81}/README.md +0 -0
- {stjames-0.0.80 → stjames-0.0.81}/setup.cfg +0 -0
- {stjames-0.0.80 → stjames-0.0.81}/stjames/__init__.py +0 -0
- {stjames-0.0.80 → stjames-0.0.81}/stjames/_deprecated_solvent_settings.py +0 -0
- {stjames-0.0.80 → stjames-0.0.81}/stjames/atom.py +0 -0
- {stjames-0.0.80 → stjames-0.0.81}/stjames/atomium_stjames/__init__.py +0 -0
- {stjames-0.0.80 → stjames-0.0.81}/stjames/atomium_stjames/data.py +0 -0
- {stjames-0.0.80 → stjames-0.0.81}/stjames/atomium_stjames/mmcif.py +0 -0
- {stjames-0.0.80 → stjames-0.0.81}/stjames/atomium_stjames/pdb.py +0 -0
- {stjames-0.0.80 → stjames-0.0.81}/stjames/atomium_stjames/utilities.py +0 -0
- {stjames-0.0.80 → stjames-0.0.81}/stjames/base.py +0 -0
- {stjames-0.0.80 → stjames-0.0.81}/stjames/basis_set.py +0 -0
- {stjames-0.0.80 → stjames-0.0.81}/stjames/calculation.py +0 -0
- {stjames-0.0.80 → stjames-0.0.81}/stjames/compute_settings.py +0 -0
- {stjames-0.0.80 → stjames-0.0.81}/stjames/constraint.py +0 -0
- {stjames-0.0.80 → stjames-0.0.81}/stjames/correction.py +0 -0
- {stjames-0.0.80 → stjames-0.0.81}/stjames/data/__init__.py +0 -0
- {stjames-0.0.80 → stjames-0.0.81}/stjames/data/bragg_radii.json +0 -0
- {stjames-0.0.80 → stjames-0.0.81}/stjames/data/elements.py +0 -0
- {stjames-0.0.80 → stjames-0.0.81}/stjames/data/isotopes.json +0 -0
- {stjames-0.0.80 → stjames-0.0.81}/stjames/data/nist_isotopes.json +0 -0
- {stjames-0.0.80 → stjames-0.0.81}/stjames/data/read_nist_isotopes.py +0 -0
- {stjames-0.0.80 → stjames-0.0.81}/stjames/data/symbol_element.json +0 -0
- {stjames-0.0.80 → stjames-0.0.81}/stjames/diis_settings.py +0 -0
- {stjames-0.0.80 → stjames-0.0.81}/stjames/grid_settings.py +0 -0
- {stjames-0.0.80 → stjames-0.0.81}/stjames/int_settings.py +0 -0
- {stjames-0.0.80 → stjames-0.0.81}/stjames/message.py +0 -0
- {stjames-0.0.80 → stjames-0.0.81}/stjames/method.py +0 -0
- {stjames-0.0.80 → stjames-0.0.81}/stjames/mode.py +0 -0
- {stjames-0.0.80 → stjames-0.0.81}/stjames/molecule.py +0 -0
- {stjames-0.0.80 → stjames-0.0.81}/stjames/opt_settings.py +0 -0
- {stjames-0.0.80 → stjames-0.0.81}/stjames/pdb.py +0 -0
- {stjames-0.0.80 → stjames-0.0.81}/stjames/periodic_cell.py +0 -0
- {stjames-0.0.80 → stjames-0.0.81}/stjames/py.typed +0 -0
- {stjames-0.0.80 → stjames-0.0.81}/stjames/scf_settings.py +0 -0
- {stjames-0.0.80 → stjames-0.0.81}/stjames/settings.py +0 -0
- {stjames-0.0.80 → stjames-0.0.81}/stjames/solvent.py +0 -0
- {stjames-0.0.80 → stjames-0.0.81}/stjames/status.py +0 -0
- {stjames-0.0.80 → stjames-0.0.81}/stjames/task.py +0 -0
- {stjames-0.0.80 → stjames-0.0.81}/stjames/thermochem_settings.py +0 -0
- {stjames-0.0.80 → stjames-0.0.81}/stjames/workflows/__init__.py +0 -0
- {stjames-0.0.80 → stjames-0.0.81}/stjames/workflows/admet.py +0 -0
- {stjames-0.0.80 → stjames-0.0.81}/stjames/workflows/basic_calculation.py +0 -0
- {stjames-0.0.80 → stjames-0.0.81}/stjames/workflows/bde.py +0 -0
- {stjames-0.0.80 → stjames-0.0.81}/stjames/workflows/conformer.py +0 -0
- {stjames-0.0.80 → stjames-0.0.81}/stjames/workflows/conformer_search.py +0 -0
- {stjames-0.0.80 → stjames-0.0.81}/stjames/workflows/descriptors.py +0 -0
- {stjames-0.0.80 → stjames-0.0.81}/stjames/workflows/docking.py +0 -0
- {stjames-0.0.80 → stjames-0.0.81}/stjames/workflows/electronic_properties.py +0 -0
- {stjames-0.0.80 → stjames-0.0.81}/stjames/workflows/fukui.py +0 -0
- {stjames-0.0.80 → stjames-0.0.81}/stjames/workflows/hydrogen_bond_basicity.py +0 -0
- {stjames-0.0.80 → stjames-0.0.81}/stjames/workflows/ion_mobility.py +0 -0
- {stjames-0.0.80 → stjames-0.0.81}/stjames/workflows/irc.py +0 -0
- {stjames-0.0.80 → stjames-0.0.81}/stjames/workflows/macropka.py +0 -0
- {stjames-0.0.80 → stjames-0.0.81}/stjames/workflows/molecular_dynamics.py +0 -0
- {stjames-0.0.80 → stjames-0.0.81}/stjames/workflows/multistage_opt.py +0 -0
- {stjames-0.0.80 → stjames-0.0.81}/stjames/workflows/pka.py +0 -0
- {stjames-0.0.80 → stjames-0.0.81}/stjames/workflows/redox_potential.py +0 -0
- {stjames-0.0.80 → stjames-0.0.81}/stjames/workflows/scan.py +0 -0
- {stjames-0.0.80 → stjames-0.0.81}/stjames/workflows/solubility.py +0 -0
- {stjames-0.0.80 → stjames-0.0.81}/stjames/workflows/spin_states.py +0 -0
- {stjames-0.0.80 → stjames-0.0.81}/stjames/workflows/tautomer.py +0 -0
- {stjames-0.0.80 → stjames-0.0.81}/stjames/workflows/workflow.py +0 -0
- {stjames-0.0.80 → stjames-0.0.81}/stjames.egg-info/SOURCES.txt +0 -0
- {stjames-0.0.80 → stjames-0.0.81}/stjames.egg-info/dependency_links.txt +0 -0
- {stjames-0.0.80 → stjames-0.0.81}/stjames.egg-info/requires.txt +0 -0
- {stjames-0.0.80 → stjames-0.0.81}/stjames.egg-info/top_level.txt +0 -0
- {stjames-0.0.80 → stjames-0.0.81}/tests/test_constraints.py +0 -0
- {stjames-0.0.80 → stjames-0.0.81}/tests/test_from_extxyz.py +0 -0
- {stjames-0.0.80 → stjames-0.0.81}/tests/test_molecule.py +0 -0
- {stjames-0.0.80 → stjames-0.0.81}/tests/test_pdb.py +0 -0
- {stjames-0.0.80 → stjames-0.0.81}/tests/test_rounding.py +0 -0
- {stjames-0.0.80 → stjames-0.0.81}/tests/test_settings.py +0 -0
|
@@ -19,6 +19,17 @@ def round_list(round_to: int = 6) -> Callable[[Iterable[float]], list[float]]:
|
|
|
19
19
|
return rounder
|
|
20
20
|
|
|
21
21
|
|
|
22
|
+
def round_optional_list(round_to: int = 6) -> Callable[[Iterable[float] | None], list[float] | None]:
|
|
23
|
+
"""Create a validator that rounds each float in a list to a given number of decimal places."""
|
|
24
|
+
|
|
25
|
+
def rounder(values: Iterable[float] | None) -> list[float] | None:
|
|
26
|
+
if values is None:
|
|
27
|
+
return None
|
|
28
|
+
return [round(value, round_to) for value in values]
|
|
29
|
+
|
|
30
|
+
return rounder
|
|
31
|
+
|
|
32
|
+
|
|
22
33
|
def round_vector3d(round_to: int = 6) -> Callable[[Vector3D], Vector3D]:
|
|
23
34
|
"""Create a validator that rounds each component of a Vector3D to a given number of decimal places."""
|
|
24
35
|
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"""Protein Cofolding Workflow."""
|
|
2
|
+
|
|
3
|
+
from typing import Annotated
|
|
4
|
+
|
|
5
|
+
from pydantic import AfterValidator, BaseModel
|
|
6
|
+
|
|
7
|
+
from ..base import LowercaseStrEnum, round_float
|
|
8
|
+
from ..types import UUID, round_optional_list
|
|
9
|
+
from .workflow import FASTAWorkflow
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class CofoldingModel(LowercaseStrEnum):
|
|
13
|
+
"""Cofolding model to be used for prediction."""
|
|
14
|
+
|
|
15
|
+
CHAI_1R = "chai_1r"
|
|
16
|
+
BOLTZ_1 = "boltz_1"
|
|
17
|
+
BOLTZ_2 = "boltz_2"
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
class CofoldingScores(BaseModel):
|
|
21
|
+
confidence_score: Annotated[float, AfterValidator(round_float(3))]
|
|
22
|
+
ptm: Annotated[float, AfterValidator(round_float(3))] # predicted template modeling score
|
|
23
|
+
iptm: Annotated[float, AfterValidator(round_float(3))] # interface predicted template modeling score
|
|
24
|
+
avg_lddt: Annotated[float, AfterValidator(round_float(3))]
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
class AffinityScore(BaseModel):
|
|
28
|
+
pred_value: Annotated[float, AfterValidator(round_float(3))]
|
|
29
|
+
probability_binary: Annotated[float, AfterValidator(round_float(3))]
|
|
30
|
+
pred_value1: Annotated[float, AfterValidator(round_float(3))]
|
|
31
|
+
probability_binary1: Annotated[float, AfterValidator(round_float(3))]
|
|
32
|
+
pred_value2: Annotated[float, AfterValidator(round_float(3))]
|
|
33
|
+
probability_binary2: Annotated[float, AfterValidator(round_float(3))]
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
class ProteinCofoldingWorkflow(FASTAWorkflow):
|
|
37
|
+
"""
|
|
38
|
+
A workflow for predicting structures. Especially protein structures.
|
|
39
|
+
|
|
40
|
+
Inherited:
|
|
41
|
+
:param initial_protein_sequences: protein sequences of interest
|
|
42
|
+
:param initial_smiles_list: SMILES strings of interest
|
|
43
|
+
|
|
44
|
+
New:
|
|
45
|
+
:param use_msa_server: whether to use the MSA server
|
|
46
|
+
:param use_templates_server: whether to use the templates server
|
|
47
|
+
:param predicted_structure_uuid: UUID of the predicted structure
|
|
48
|
+
"""
|
|
49
|
+
|
|
50
|
+
use_msa_server: bool = False
|
|
51
|
+
use_templates_server: bool = False
|
|
52
|
+
use_potentials: bool = False
|
|
53
|
+
predicted_structure_uuid: UUID | None = None
|
|
54
|
+
scores: CofoldingScores | None = None
|
|
55
|
+
model: CofoldingModel = CofoldingModel.BOLTZ_2
|
|
56
|
+
affinity_score: AffinityScore | None = None
|
|
57
|
+
lddt: Annotated[list[float] | None, AfterValidator(round_optional_list(3))] = None
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
reduced_mass: Annotated[float, AfterValidator(round_float(3))] # amu
|
|
61
|
+
solubilities: Annotated[list[float] | None, AfterValidator(round_optional_list(3))]
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
"""Protein Cofolding Workflow."""
|
|
2
|
-
|
|
3
|
-
from pydantic import BaseModel
|
|
4
|
-
|
|
5
|
-
from ..base import LowercaseStrEnum
|
|
6
|
-
from ..types import UUID
|
|
7
|
-
from .workflow import FASTAWorkflow
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
class CofoldingModel(LowercaseStrEnum):
|
|
11
|
-
"""Cofolding model to be used for prediction."""
|
|
12
|
-
|
|
13
|
-
CHAI_1R = "chai_1r"
|
|
14
|
-
BOLTZ_1 = "boltz_1"
|
|
15
|
-
BOLTZ_2 = "boltz_2"
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
class CofoldingScores(BaseModel):
|
|
19
|
-
confidence_score: float
|
|
20
|
-
ptm: float # predicted template modeling score
|
|
21
|
-
iptm: float # interface predicted template modeling score
|
|
22
|
-
avg_lddt: float
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
class AffinityScore(BaseModel):
|
|
26
|
-
pred_value: float
|
|
27
|
-
probability_binary: float
|
|
28
|
-
pred_value1: float
|
|
29
|
-
probability_binary1: float
|
|
30
|
-
pred_value2: float
|
|
31
|
-
probability_binary2: float
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
class ProteinCofoldingWorkflow(FASTAWorkflow):
|
|
35
|
-
"""
|
|
36
|
-
A workflow for predicting structures. Especially protein structures.
|
|
37
|
-
|
|
38
|
-
Inherited:
|
|
39
|
-
:param initial_protein_sequences: protein sequences of interest
|
|
40
|
-
:param initial_smiles_list: SMILES strings of interest
|
|
41
|
-
|
|
42
|
-
New:
|
|
43
|
-
:param use_msa_server: whether to use the MSA server
|
|
44
|
-
:param use_templates_server: whether to use the templates server
|
|
45
|
-
:param predicted_structure_uuid: UUID of the predicted structure
|
|
46
|
-
"""
|
|
47
|
-
|
|
48
|
-
use_msa_server: bool = False
|
|
49
|
-
use_templates_server: bool = False
|
|
50
|
-
use_potentials: bool = False
|
|
51
|
-
predicted_structure_uuid: UUID | None = None
|
|
52
|
-
scores: CofoldingScores | None = None
|
|
53
|
-
model: CofoldingModel = CofoldingModel.BOLTZ_2
|
|
54
|
-
affinity_score: AffinityScore | None = None
|
|
55
|
-
lddt: list[float] | None = None
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|