rowan-python 3.1.8__tar.gz → 3.1.9__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.
- {rowan_python-3.1.8 → rowan_python-3.1.9}/PKG-INFO +2 -2
- {rowan_python-3.1.8 → rowan_python-3.1.9}/pixi.lock +46 -46
- {rowan_python-3.1.8 → rowan_python-3.1.9}/pyproject.toml +3 -2
- {rowan_python-3.1.8 → rowan_python-3.1.9}/rowan/__init__.py +1 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/rowan/workflows/nmr.py +40 -2
- {rowan_python-3.1.8 → rowan_python-3.1.9}/skills/computational-chemistry-and-biology/reference/admet.md +1 -1
- {rowan_python-3.1.8 → rowan_python-3.1.9}/skills/computational-chemistry-and-biology/reference/analogue_docking.md +1 -1
- {rowan_python-3.1.8 → rowan_python-3.1.9}/skills/computational-chemistry-and-biology/reference/basic_calculation.md +2 -2
- {rowan_python-3.1.8 → rowan_python-3.1.9}/skills/computational-chemistry-and-biology/reference/batch_docking.md +1 -1
- {rowan_python-3.1.8 → rowan_python-3.1.9}/skills/computational-chemistry-and-biology/reference/bde.md +3 -3
- {rowan_python-3.1.8 → rowan_python-3.1.9}/skills/computational-chemistry-and-biology/reference/conformer_search.md +3 -3
- {rowan_python-3.1.8 → rowan_python-3.1.9}/skills/computational-chemistry-and-biology/reference/descriptors.md +3 -3
- {rowan_python-3.1.8 → rowan_python-3.1.9}/skills/computational-chemistry-and-biology/reference/docking.md +2 -2
- {rowan_python-3.1.8 → rowan_python-3.1.9}/skills/computational-chemistry-and-biology/reference/double_ended_ts_search.md +5 -3
- {rowan_python-3.1.8 → rowan_python-3.1.9}/skills/computational-chemistry-and-biology/reference/electronic_properties.md +1 -1
- {rowan_python-3.1.8 → rowan_python-3.1.9}/skills/computational-chemistry-and-biology/reference/folders_and_projects.md +15 -15
- {rowan_python-3.1.8 → rowan_python-3.1.9}/skills/computational-chemistry-and-biology/reference/fukui.md +1 -1
- {rowan_python-3.1.8 → rowan_python-3.1.9}/skills/computational-chemistry-and-biology/reference/hydrogen_bond_donor_acceptor_strength.md +1 -1
- {rowan_python-3.1.8 → rowan_python-3.1.9}/skills/computational-chemistry-and-biology/reference/interaction_energy_decomposition.md +3 -1
- {rowan_python-3.1.8 → rowan_python-3.1.9}/skills/computational-chemistry-and-biology/reference/ion_mobility.md +2 -2
- {rowan_python-3.1.8 → rowan_python-3.1.9}/skills/computational-chemistry-and-biology/reference/irc.md +2 -2
- {rowan_python-3.1.8 → rowan_python-3.1.9}/skills/computational-chemistry-and-biology/reference/macropka.md +1 -1
- {rowan_python-3.1.8 → rowan_python-3.1.9}/skills/computational-chemistry-and-biology/reference/mcp_execution.md +3 -3
- {rowan_python-3.1.8 → rowan_python-3.1.9}/skills/computational-chemistry-and-biology/reference/membrane_permeability.md +2 -2
- {rowan_python-3.1.8 → rowan_python-3.1.9}/skills/computational-chemistry-and-biology/reference/msa.md +2 -2
- {rowan_python-3.1.8 → rowan_python-3.1.9}/skills/computational-chemistry-and-biology/reference/multistage_optimization.md +1 -1
- {rowan_python-3.1.8 → rowan_python-3.1.9}/skills/computational-chemistry-and-biology/reference/nmr.md +3 -5
- {rowan_python-3.1.8 → rowan_python-3.1.9}/skills/computational-chemistry-and-biology/reference/pka.md +2 -2
- {rowan_python-3.1.8 → rowan_python-3.1.9}/skills/computational-chemistry-and-biology/reference/pocket_detection.md +1 -1
- {rowan_python-3.1.8 → rowan_python-3.1.9}/skills/computational-chemistry-and-biology/reference/pose_analysis_md.md +3 -3
- {rowan_python-3.1.8 → rowan_python-3.1.9}/skills/computational-chemistry-and-biology/reference/protein_binder_design.md +6 -3
- {rowan_python-3.1.8 → rowan_python-3.1.9}/skills/computational-chemistry-and-biology/reference/protein_cofolding.md +9 -7
- {rowan_python-3.1.8 → rowan_python-3.1.9}/skills/computational-chemistry-and-biology/reference/protein_md.md +4 -4
- {rowan_python-3.1.8 → rowan_python-3.1.9}/skills/computational-chemistry-and-biology/reference/protein_prep.md +10 -10
- {rowan_python-3.1.8 → rowan_python-3.1.9}/skills/computational-chemistry-and-biology/reference/python_sdk.md +9 -5
- {rowan_python-3.1.8 → rowan_python-3.1.9}/skills/computational-chemistry-and-biology/reference/rbfe_graph.md +2 -2
- {rowan_python-3.1.8 → rowan_python-3.1.9}/skills/computational-chemistry-and-biology/reference/redox_potential.md +1 -1
- {rowan_python-3.1.8 → rowan_python-3.1.9}/skills/computational-chemistry-and-biology/reference/relative_binding_free_energy_perturbation.md +1 -1
- {rowan_python-3.1.8 → rowan_python-3.1.9}/skills/computational-chemistry-and-biology/reference/scan.md +6 -4
- {rowan_python-3.1.8 → rowan_python-3.1.9}/skills/computational-chemistry-and-biology/reference/solubility.md +4 -2
- {rowan_python-3.1.8 → rowan_python-3.1.9}/skills/computational-chemistry-and-biology/reference/solvent_dependent_conformers.md +1 -1
- {rowan_python-3.1.8 → rowan_python-3.1.9}/skills/computational-chemistry-and-biology/reference/spin_states.md +2 -2
- {rowan_python-3.1.8 → rowan_python-3.1.9}/skills/computational-chemistry-and-biology/reference/strain.md +4 -2
- {rowan_python-3.1.8 → rowan_python-3.1.9}/skills/computational-chemistry-and-biology/reference/tautomer_search.md +1 -1
- {rowan_python-3.1.8 → rowan_python-3.1.9}/skills/computational-chemistry-and-biology/reference/webhooks.md +7 -7
- {rowan_python-3.1.8 → rowan_python-3.1.9}/.agents/plugins/marketplace.json +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/.claude-plugin/marketplace.json +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/.codex-plugin/plugin.json +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/.envrc +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/.github/workflows/build-and-deploy-docs.yml +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/.github/workflows/publish-skill.yml +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/.github/workflows/python-publish.yml +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/.github/workflows/test.yml +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/.gitignore +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/.pre-commit-config.yaml +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/AGENTS.md +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/CLAUDE.md +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/GEMINI.md +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/LICENSE +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/README.md +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/docs/images/deciduous-tree-favicon.png +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/docs/index.md +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/docs/stylesheets/colors.css +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/examples/PROTAC_solubility.py +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/examples/admet.py +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/examples/analogue_docking.py +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/examples/aqueous_solubility.py +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/examples/basic_calculation.py +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/examples/basic_calculation_from_json.py +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/examples/basic_calculation_with_constraint.py +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/examples/basic_calculation_with_solvent.py +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/examples/batch_docking.py +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/examples/bde.py +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/examples/binding_affinity.py +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/examples/boltz_paired_msa.py +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/examples/boltz_single_msa.py +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/examples/chai_paired_msa.py +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/examples/chai_single_msa.py +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/examples/cofolding_screen.py +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/examples/colabfold_paired_msa.py +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/examples/colabfold_single_msa.py +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/examples/conformer_dependent_redox.py +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/examples/conformers.py +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/examples/conformers_screen.py +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/examples/covalent_docking.py +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/examples/covalent_inhibitor_scan.py +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/examples/data/1iep_receptorH.pdb +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/examples/data/Al_FCC.xyz +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/examples/data/citalopram_1iep.xyz +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/examples/data/ibuprofen_conformers.sdf +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/examples/data/tyk2_ligands.sdf +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/examples/data/tyk2_structure.pdb +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/examples/data/workflow_example.json +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/examples/dcd_download.py +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/examples/descriptors.py +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/examples/docking.py +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/examples/docking_screen.py +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/examples/double_ended_ts_search.py +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/examples/electronic_properties.py +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/examples/estimate_workflow.py +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/examples/fukui_index.py +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/examples/hydrogen_bond_basicity.py +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/examples/interaction_energy_decomposition.py +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/examples/ion_mobility.py +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/examples/irc.py +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/examples/macropka.py +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/examples/membrane_permeability.py +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/examples/multistage_optimization.py +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/examples/nmr.py +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/examples/optimization.py +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/examples/pdb_download.py +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/examples/periodic_dft.py +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/examples/phenol_pka.py +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/examples/pka.py +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/examples/pocket_detection.py +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/examples/pose_analysis_md.py +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/examples/project_scoped_api_key.py +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/examples/protein_binder_design.py +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/examples/protein_cofolding.py +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/examples/protein_cofolding_with_constraints.py +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/examples/protein_cofolding_with_templates.py +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/examples/protein_md.py +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/examples/rbfe_graph.py +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/examples/rbfe_resubmit.py +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/examples/redox_potential.py +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/examples/relative_binding_free_energy_perturbation.py +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/examples/resubmit_with_perturbations.py +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/examples/retrieve_workflow.py +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/examples/scan.py +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/examples/solvent_dependent_conformers.py +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/examples/spin_states.py +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/examples/strain.py +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/examples/tautomer.py +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/examples/template.py +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/examples/webhook.py +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/mkdocs.yml +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/rowan/api_keys.py +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/rowan/calculation.py +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/rowan/config.py +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/rowan/constants.py +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/rowan/folder.py +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/rowan/molecule.py +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/rowan/project.py +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/rowan/protein.py +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/rowan/py.typed +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/rowan/test_utils.py +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/rowan/types.py +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/rowan/user.py +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/rowan/utils.py +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/rowan/workflows/__init__.py +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/rowan/workflows/admet.py +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/rowan/workflows/analogue_docking.py +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/rowan/workflows/base.py +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/rowan/workflows/basic_calculation.py +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/rowan/workflows/batch_docking.py +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/rowan/workflows/bde.py +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/rowan/workflows/binding_affinity.py +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/rowan/workflows/conformer_search.py +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/rowan/workflows/constants.py +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/rowan/workflows/covalent_inhibitor_scan.py +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/rowan/workflows/descriptors.py +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/rowan/workflows/docking.py +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/rowan/workflows/double_ended_ts_search.py +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/rowan/workflows/electronic_properties.py +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/rowan/workflows/fukui.py +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/rowan/workflows/hydrogen_bond_donor_acceptor_strength.py +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/rowan/workflows/interaction_energy_decomposition.py +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/rowan/workflows/ion_mobility.py +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/rowan/workflows/irc.py +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/rowan/workflows/macropka.py +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/rowan/workflows/membrane_permeability.py +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/rowan/workflows/msa.py +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/rowan/workflows/multistage_optimization.py +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/rowan/workflows/pka.py +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/rowan/workflows/pocket_detection.py +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/rowan/workflows/pose_analysis_md.py +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/rowan/workflows/protein_binder_design.py +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/rowan/workflows/protein_cofolding.py +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/rowan/workflows/protein_md.py +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/rowan/workflows/rbfe_graph.py +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/rowan/workflows/redox_potential.py +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/rowan/workflows/relative_binding_free_energy_perturbation.py +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/rowan/workflows/scan.py +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/rowan/workflows/solubility.py +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/rowan/workflows/solvent_dependent_conformers.py +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/rowan/workflows/spin_states.py +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/rowan/workflows/strain.py +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/rowan/workflows/tautomer_search.py +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/skills/computational-chemistry-and-biology/SKILL.md +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/skills/computational-chemistry-and-biology/reference/binding_affinity.md +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/skills/computational-chemistry-and-biology/reference/covalent_inhibitor_scan.md +0 -0
- {rowan_python-3.1.8 → rowan_python-3.1.9}/skills/computational-chemistry-and-biology/scripts/check_env.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: rowan-python
|
|
3
|
-
Version: 3.1.
|
|
3
|
+
Version: 3.1.9
|
|
4
4
|
Summary: Rowan Python Library
|
|
5
5
|
Project-URL: Homepage, https://github.com/rowansci/rowan-client
|
|
6
6
|
Project-URL: Bug Tracker, https://github.com/rowansci/rowan-client/issues
|
|
@@ -11,7 +11,7 @@ Requires-Dist: httpx
|
|
|
11
11
|
Requires-Dist: nest-asyncio
|
|
12
12
|
Requires-Dist: rdkit
|
|
13
13
|
Requires-Dist: setuptools
|
|
14
|
-
Requires-Dist: stjames>=0.0.
|
|
14
|
+
Requires-Dist: stjames>=0.0.236
|
|
15
15
|
Description-Content-Type: text/markdown
|
|
16
16
|
|
|
17
17
|
# Rowan Python Library
|
|
@@ -37,11 +37,12 @@ environments:
|
|
|
37
37
|
- conda: https://conda.anaconda.org/conda-forge/linux-64/readline-8.3-h853b02a_0.conda
|
|
38
38
|
- conda: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_hd70dff1_3.conda
|
|
39
39
|
- conda: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.7-hb78ec9c_6.conda
|
|
40
|
-
- conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.
|
|
40
|
+
- conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.7.22-hbd8a1cb_0.conda
|
|
41
41
|
- conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda
|
|
42
42
|
- conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026c-h151e31d_0.conda
|
|
43
43
|
- pypi: ./
|
|
44
44
|
- pypi: https://files.pythonhosted.org/packages/04/4b/29cac41a4d98d144bf5f6d33995617b185d14b22401f75ca86f384e87ff1/h11-0.16.0-py3-none-any.whl
|
|
45
|
+
- pypi: https://files.pythonhosted.org/packages/0b/a7/71ac2cff56fec219ed242bb11b8efb69fcc4bec75db06fb7bfe35de520e6/certifi-2026.7.22-py3-none-any.whl
|
|
45
46
|
- pypi: https://files.pythonhosted.org/packages/1e/5e/d4e9f1a599fb8e573b7b87160658329fbf28d19eac2718f51fc3def3aa5a/idna-3.18-py3-none-any.whl
|
|
46
47
|
- pypi: https://files.pythonhosted.org/packages/2a/39/e50c7c3a983047577ee07d2a9e53faf5a69493943ec3f6a384bdc792deb2/httpx-0.28.1-py3-none-any.whl
|
|
47
48
|
- pypi: https://files.pythonhosted.org/packages/41/5f/0f992cb24560673496c5d68de61913b57166ce530ffda07c1f280e0cc464/numpy-2.5.1-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
|
|
@@ -54,16 +55,15 @@ environments:
|
|
|
54
55
|
- pypi: https://files.pythonhosted.org/packages/89/1d/8eff589b45bb8190a9d12c49cfad0f176a5cbd1534908a6b5125e2886239/pydantic_core-2.46.4-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
|
|
55
56
|
- pypi: https://files.pythonhosted.org/packages/a0/c4/c2971a3ba4c6103a3d10c4b0f24f461ddc027f0f09763220cf35ca1401b3/nest_asyncio-1.6.0-py3-none-any.whl
|
|
56
57
|
- pypi: https://files.pythonhosted.org/packages/a0/f4/c67b0b3f1b9245e8d266f0f112c500d50e5b4e83cb6f3b71b6528104182a/requests-2.34.2-py3-none-any.whl
|
|
58
|
+
- pypi: https://files.pythonhosted.org/packages/d0/fb/be7d2e16e6c6143cd6834cd488d990d75352a5c9cdad6d5c615b5f01d736/stjames-0.0.236-py3-none-any.whl
|
|
57
59
|
- pypi: https://files.pythonhosted.org/packages/da/35/f2287558c17e29fafc8ef3daf819bb9834061cfa43bff8014f7df7f63bdc/anyio-4.14.2-py3-none-any.whl
|
|
58
60
|
- pypi: https://files.pythonhosted.org/packages/dc/9b/47798a6c91d8bdb567fe2698fe81e0c6b7cb7ef4d13da4114b41d239f65d/typing_inspection-0.4.2-py3-none-any.whl
|
|
59
61
|
- pypi: https://files.pythonhosted.org/packages/e1/11/1a9a693e424b2a75755d56ecb67ccc6f77e6e5bb7417dec5e73d9c410314/rdkit-2026.3.4-cp314-cp314-manylinux_2_28_x86_64.whl
|
|
60
62
|
- pypi: https://files.pythonhosted.org/packages/e8/3d/1087453384dbde46a8c7f9356eead2c58be8a7bf156bca40243377c85715/more_itertools-11.1.0-py3-none-any.whl
|
|
61
|
-
- pypi: https://files.pythonhosted.org/packages/ec/4f/60f375c1abfbb364cb56ee70d4cae5c2cc9762d434531c61f066d8610605/stjames-0.0.233-py3-none-any.whl
|
|
62
|
-
- pypi: https://files.pythonhosted.org/packages/ef/2f/c5464532e965badff2f4c4c1a3a83f5697f0d7c407ed0cda44aaa99bb451/certifi-2026.6.17-py3-none-any.whl
|
|
63
63
|
- pypi: https://files.pythonhosted.org/packages/f4/c4/b3e049d2aa3766180c78507110543d9d50894cc97f57de543f1be521dcdc/charset_normalizer-3.4.9-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
|
|
64
64
|
- pypi: https://files.pythonhosted.org/packages/fd/7b/122376b1fd3c62c1ed9dc80c931ace4844b3c55407b6fb2d199377c9736f/pydantic-2.13.4-py3-none-any.whl
|
|
65
65
|
osx-arm64:
|
|
66
|
-
- conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.
|
|
66
|
+
- conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.7.22-hbd8a1cb_0.conda
|
|
67
67
|
- conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda
|
|
68
68
|
- conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026c-h151e31d_0.conda
|
|
69
69
|
- conda: https://conda.anaconda.org/conda-forge/osx-arm64/bzip2-1.0.8-hd037594_9.conda
|
|
@@ -81,6 +81,7 @@ environments:
|
|
|
81
81
|
- conda: https://conda.anaconda.org/conda-forge/osx-arm64/zstd-1.5.7-hbf9d68e_6.conda
|
|
82
82
|
- pypi: ./
|
|
83
83
|
- pypi: https://files.pythonhosted.org/packages/04/4b/29cac41a4d98d144bf5f6d33995617b185d14b22401f75ca86f384e87ff1/h11-0.16.0-py3-none-any.whl
|
|
84
|
+
- pypi: https://files.pythonhosted.org/packages/0b/a7/71ac2cff56fec219ed242bb11b8efb69fcc4bec75db06fb7bfe35de520e6/certifi-2026.7.22-py3-none-any.whl
|
|
84
85
|
- pypi: https://files.pythonhosted.org/packages/1e/5e/d4e9f1a599fb8e573b7b87160658329fbf28d19eac2718f51fc3def3aa5a/idna-3.18-py3-none-any.whl
|
|
85
86
|
- pypi: https://files.pythonhosted.org/packages/2a/39/e50c7c3a983047577ee07d2a9e53faf5a69493943ec3f6a384bdc792deb2/httpx-0.28.1-py3-none-any.whl
|
|
86
87
|
- pypi: https://files.pythonhosted.org/packages/49/d3/b8441a820a491ddfc024b0b0cf0393375b75ea13866d9c66727e54c2fc80/typing_extensions-4.16.0-py3-none-any.whl
|
|
@@ -95,11 +96,10 @@ environments:
|
|
|
95
96
|
- pypi: https://files.pythonhosted.org/packages/ad/1f/8970b150a4b4365623ae00fc88603491f763c627311ae8031e3111356d6e/pydantic_core-2.46.4-cp314-cp314-macosx_11_0_arm64.whl
|
|
96
97
|
- pypi: https://files.pythonhosted.org/packages/bf/64/0e215f2048dd11a55bb989ed41b3585ef57452404e638d703a211a3e4157/numpy-2.5.1-cp314-cp314-macosx_11_0_arm64.whl
|
|
97
98
|
- pypi: https://files.pythonhosted.org/packages/c7/da/32c752228ae345f489e3a42499d817b6c3996da7e8a3bc7a04fc806b243b/pillow-12.3.0-cp314-cp314-macosx_11_0_arm64.whl
|
|
99
|
+
- pypi: https://files.pythonhosted.org/packages/d0/fb/be7d2e16e6c6143cd6834cd488d990d75352a5c9cdad6d5c615b5f01d736/stjames-0.0.236-py3-none-any.whl
|
|
98
100
|
- pypi: https://files.pythonhosted.org/packages/da/35/f2287558c17e29fafc8ef3daf819bb9834061cfa43bff8014f7df7f63bdc/anyio-4.14.2-py3-none-any.whl
|
|
99
101
|
- pypi: https://files.pythonhosted.org/packages/dc/9b/47798a6c91d8bdb567fe2698fe81e0c6b7cb7ef4d13da4114b41d239f65d/typing_inspection-0.4.2-py3-none-any.whl
|
|
100
102
|
- pypi: https://files.pythonhosted.org/packages/e8/3d/1087453384dbde46a8c7f9356eead2c58be8a7bf156bca40243377c85715/more_itertools-11.1.0-py3-none-any.whl
|
|
101
|
-
- pypi: https://files.pythonhosted.org/packages/ec/4f/60f375c1abfbb364cb56ee70d4cae5c2cc9762d434531c61f066d8610605/stjames-0.0.233-py3-none-any.whl
|
|
102
|
-
- pypi: https://files.pythonhosted.org/packages/ef/2f/c5464532e965badff2f4c4c1a3a83f5697f0d7c407ed0cda44aaa99bb451/certifi-2026.6.17-py3-none-any.whl
|
|
103
103
|
- pypi: https://files.pythonhosted.org/packages/fd/7b/122376b1fd3c62c1ed9dc80c931ace4844b3c55407b6fb2d199377c9736f/pydantic-2.13.4-py3-none-any.whl
|
|
104
104
|
dev:
|
|
105
105
|
channels:
|
|
@@ -126,7 +126,7 @@ environments:
|
|
|
126
126
|
- conda: https://conda.anaconda.org/conda-forge/linux-64/readline-8.3-h853b02a_0.conda
|
|
127
127
|
- conda: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_hd70dff1_3.conda
|
|
128
128
|
- conda: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.7-hb78ec9c_6.conda
|
|
129
|
-
- conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.
|
|
129
|
+
- conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.7.22-hbd8a1cb_0.conda
|
|
130
130
|
- conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda
|
|
131
131
|
- conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026c-h151e31d_0.conda
|
|
132
132
|
- pypi: ./
|
|
@@ -135,6 +135,7 @@ environments:
|
|
|
135
135
|
- pypi: https://files.pythonhosted.org/packages/04/4b/29cac41a4d98d144bf5f6d33995617b185d14b22401f75ca86f384e87ff1/h11-0.16.0-py3-none-any.whl
|
|
136
136
|
- pypi: https://files.pythonhosted.org/packages/05/7f/798705f5296a58ca505d600456748d1be48078eac8a7050d8a98bc9edb89/decorator-5.3.1-py3-none-any.whl
|
|
137
137
|
- pypi: https://files.pythonhosted.org/packages/06/79/b4c714bef36bc4ec2beeae1e0c124f0223888cd8c6feb1cdc56038116920/filelock-3.32.0-py3-none-any.whl
|
|
138
|
+
- pypi: https://files.pythonhosted.org/packages/0b/a7/71ac2cff56fec219ed242bb11b8efb69fcc4bec75db06fb7bfe35de520e6/certifi-2026.7.22-py3-none-any.whl
|
|
138
139
|
- pypi: https://files.pythonhosted.org/packages/0b/d7/1959b9648791274998a9c3526f6d0ec8fd2233e4d4acce81bbae76b44b2a/python_dotenv-1.2.2-py3-none-any.whl
|
|
139
140
|
- pypi: https://files.pythonhosted.org/packages/1e/5e/d4e9f1a599fb8e573b7b87160658329fbf28d19eac2718f51fc3def3aa5a/idna-3.18-py3-none-any.whl
|
|
140
141
|
- pypi: https://files.pythonhosted.org/packages/22/5b/dbc6a8cddc9cfa9c4971d59fb12bb8d42e161b7e7f8cc89e49137c5b279c/mkdocs-1.6.1-py3-none-any.whl
|
|
@@ -171,6 +172,7 @@ environments:
|
|
|
171
172
|
- pypi: https://files.pythonhosted.org/packages/89/1d/8eff589b45bb8190a9d12c49cfad0f176a5cbd1534908a6b5125e2886239/pydantic_core-2.46.4-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
|
|
172
173
|
- pypi: https://files.pythonhosted.org/packages/8e/37/efad0257dc6e593a18957422533ff0f87ede7c9c6ea010a2177d738fb82f/pure_eval-0.2.3-py3-none-any.whl
|
|
173
174
|
- pypi: https://files.pythonhosted.org/packages/90/96/04b8e52da071d28f5e21a805b19cb9390aa17a47462ac87f5e2696b9566d/paginate-0.5.7-py2.py3-none-any.whl
|
|
175
|
+
- pypi: https://files.pythonhosted.org/packages/91/66/6bd3cf90500653d55dc0ffc8507aa8300bd49d0214b2e8cb4d3fef2943ba/ruff-0.16.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
|
|
174
176
|
- pypi: https://files.pythonhosted.org/packages/94/84/d9273cd09688070a6523c4aee4663a8538721b2b755c4962aafae0011e72/identify-2.6.19-py2.py3-none-any.whl
|
|
175
177
|
- pypi: https://files.pythonhosted.org/packages/96/42/3e5985a0a7e57de470b320c6d6a1a67c844f6737a587f3d44dd13d1819e7/wcwidth-0.8.2-py3-none-any.whl
|
|
176
178
|
- pypi: https://files.pythonhosted.org/packages/96/8d/1080ee4c231f361b6ce4470d556c8c435b67c7e0753aaa641497ee92f88b/traitlets-5.15.1-py3-none-any.whl
|
|
@@ -190,6 +192,7 @@ environments:
|
|
|
190
192
|
- pypi: https://files.pythonhosted.org/packages/c7/7b/14882602ddee241d7984a742fcb423cb4a30fb0d6efc546ac3129fba475a/python_discovery-1.5.0-py3-none-any.whl
|
|
191
193
|
- pypi: https://files.pythonhosted.org/packages/ca/87/b4d6c38e0ccd5e85dc54cecdf933a152c60b28fe5d993a6d8a72fa6d5896/ast_serialize-0.6.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
|
|
192
194
|
- pypi: https://files.pythonhosted.org/packages/cb/b1/3846dd7f199d53cb17f49cba7e651e9ce294d8497c8c150530ed11865bb8/iniconfig-2.3.0-py3-none-any.whl
|
|
195
|
+
- pypi: https://files.pythonhosted.org/packages/d0/fb/be7d2e16e6c6143cd6834cd488d990d75352a5c9cdad6d5c615b5f01d736/stjames-0.0.236-py3-none-any.whl
|
|
193
196
|
- pypi: https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl
|
|
194
197
|
- pypi: https://files.pythonhosted.org/packages/d1/fc/10ab7e80650a9c9e8f4f1105f8c8e73567f88ed0c06ada589ab81d38687c/mkdocstrings_python-2.0.5-py3-none-any.whl
|
|
195
198
|
- pypi: https://files.pythonhosted.org/packages/d4/2b/04b8a15f3a1c77bc79ddf5c73875327f34b4fa75982df2b76e45e402d364/asttokens-3.0.2-py3-none-any.whl
|
|
@@ -203,20 +206,17 @@ environments:
|
|
|
203
206
|
- pypi: https://files.pythonhosted.org/packages/e1/11/1a9a693e424b2a75755d56ecb67ccc6f77e6e5bb7417dec5e73d9c410314/rdkit-2026.3.4-cp314-cp314-manylinux_2_28_x86_64.whl
|
|
204
207
|
- pypi: https://files.pythonhosted.org/packages/e4/d3/5268aeabf2ad82658c4e2ff3a060648d0f02f3926cb53247c0e4d0dab49e/griffelib-2.1.0-py3-none-any.whl
|
|
205
208
|
- pypi: https://files.pythonhosted.org/packages/e8/3d/1087453384dbde46a8c7f9356eead2c58be8a7bf156bca40243377c85715/more_itertools-11.1.0-py3-none-any.whl
|
|
206
|
-
- pypi: https://files.pythonhosted.org/packages/ec/4f/60f375c1abfbb364cb56ee70d4cae5c2cc9762d434531c61f066d8610605/stjames-0.0.233-py3-none-any.whl
|
|
207
209
|
- pypi: https://files.pythonhosted.org/packages/ec/57/56b9bcc3c9c6a792fcbaf139543cee77261f3651ca9da0c93f5c1221264b/python_dateutil-2.9.0.post0-py2.py3-none-any.whl
|
|
208
|
-
- pypi: https://files.pythonhosted.org/packages/ef/2f/c5464532e965badff2f4c4c1a3a83f5697f0d7c407ed0cda44aaa99bb451/certifi-2026.6.17-py3-none-any.whl
|
|
209
210
|
- pypi: https://files.pythonhosted.org/packages/f1/7b/ce1eafaf1a76852e2ec9b22edecf1daa58175c090266e9f6c64afcd81d91/stack_data-0.6.3-py3-none-any.whl
|
|
210
211
|
- pypi: https://files.pythonhosted.org/packages/f1/d9/7fb5aa316bc299258e68c73ba3bddbc499654a07f151cba08f6153988714/pathspec-1.1.1-py3-none-any.whl
|
|
211
212
|
- pypi: https://files.pythonhosted.org/packages/f4/7e/a72dd26f3b0f4f2bf1dd8923c85f7ceb43172af56d63c7383eb62b332364/pygments-2.20.0-py3-none-any.whl
|
|
212
213
|
- pypi: https://files.pythonhosted.org/packages/f4/c4/b3e049d2aa3766180c78507110543d9d50894cc97f57de543f1be521dcdc/charset_normalizer-3.4.9-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
|
|
213
|
-
- pypi: https://files.pythonhosted.org/packages/f6/f9/a0d4871d12fae702eb1f41b686caf05f1f8b124dc6db6f784f53d74918fa/ruff-0.15.22-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
|
|
214
214
|
- pypi: https://files.pythonhosted.org/packages/f7/ec/67fbef5d497f86283db54c22eec6f6140243aae73265799baaaa19cd17fb/ghp_import-2.1.0-py3-none-any.whl
|
|
215
215
|
- pypi: https://files.pythonhosted.org/packages/fb/49/bc925106abcdac498074f2cbe6137e94e09f418dd2b7775df5b577dc0313/pre_commit-4.6.1-py2.py3-none-any.whl
|
|
216
216
|
- pypi: https://files.pythonhosted.org/packages/fb/e2/79c688af8b210d232694e31e59da9f6ec747bae31c3f5946e4e9b98860d5/click-8.4.2-py3-none-any.whl
|
|
217
217
|
- pypi: https://files.pythonhosted.org/packages/fd/7b/122376b1fd3c62c1ed9dc80c931ace4844b3c55407b6fb2d199377c9736f/pydantic-2.13.4-py3-none-any.whl
|
|
218
218
|
osx-arm64:
|
|
219
|
-
- conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.
|
|
219
|
+
- conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.7.22-hbd8a1cb_0.conda
|
|
220
220
|
- conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda
|
|
221
221
|
- conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2026c-h151e31d_0.conda
|
|
222
222
|
- conda: https://conda.anaconda.org/conda-forge/osx-arm64/bzip2-1.0.8-hd037594_9.conda
|
|
@@ -238,6 +238,7 @@ environments:
|
|
|
238
238
|
- pypi: https://files.pythonhosted.org/packages/04/4b/29cac41a4d98d144bf5f6d33995617b185d14b22401f75ca86f384e87ff1/h11-0.16.0-py3-none-any.whl
|
|
239
239
|
- pypi: https://files.pythonhosted.org/packages/05/7f/798705f5296a58ca505d600456748d1be48078eac8a7050d8a98bc9edb89/decorator-5.3.1-py3-none-any.whl
|
|
240
240
|
- pypi: https://files.pythonhosted.org/packages/06/79/b4c714bef36bc4ec2beeae1e0c124f0223888cd8c6feb1cdc56038116920/filelock-3.32.0-py3-none-any.whl
|
|
241
|
+
- pypi: https://files.pythonhosted.org/packages/0b/a7/71ac2cff56fec219ed242bb11b8efb69fcc4bec75db06fb7bfe35de520e6/certifi-2026.7.22-py3-none-any.whl
|
|
241
242
|
- pypi: https://files.pythonhosted.org/packages/0b/d7/1959b9648791274998a9c3526f6d0ec8fd2233e4d4acce81bbae76b44b2a/python_dotenv-1.2.2-py3-none-any.whl
|
|
242
243
|
- pypi: https://files.pythonhosted.org/packages/15/14/2ba1d61452d7c2a7fe12741e8d374e52b183476b07aa7f9e2a0d02b0720a/mypy-2.3.0-cp314-cp314-macosx_11_0_arm64.whl
|
|
243
244
|
- pypi: https://files.pythonhosted.org/packages/1e/5e/d4e9f1a599fb8e573b7b87160658329fbf28d19eac2718f51fc3def3aa5a/idna-3.18-py3-none-any.whl
|
|
@@ -252,6 +253,7 @@ environments:
|
|
|
252
253
|
- pypi: https://files.pythonhosted.org/packages/3e/5c/fb93d3092640a24dfb7bd7727a24016d7c01774ca013e60efd3f683c8002/backrefs-7.0-py314-none-any.whl
|
|
253
254
|
- pypi: https://files.pythonhosted.org/packages/40/3a/948263ca3b9d65bb2b1b0c521b3a49fad5d59ada58724bd87d2bd5ff3f36/ipython-9.15.0-py3-none-any.whl
|
|
254
255
|
- pypi: https://files.pythonhosted.org/packages/41/09/5b161152e2d90f7b87f781c2e1267494aef9c32498df793f73ad0a0a494a/matplotlib_inline-0.2.2-py3-none-any.whl
|
|
256
|
+
- pypi: https://files.pythonhosted.org/packages/42/ce/741cd197496a1abbf51352710fd15ed995d2a2be87189c1da26a450d6e83/ruff-0.16.0-py3-none-macosx_11_0_arm64.whl
|
|
255
257
|
- pypi: https://files.pythonhosted.org/packages/49/d3/b8441a820a491ddfc024b0b0cf0393375b75ea13866d9c66727e54c2fc80/typing_extensions-4.16.0-py3-none-any.whl
|
|
256
258
|
- pypi: https://files.pythonhosted.org/packages/52/22/0ba7be75e0d99335008532312abc0a1ce50f8895739941bca887cf75d157/rdkit-2026.3.4-cp314-cp314-macosx_11_0_arm64.whl
|
|
257
259
|
- pypi: https://files.pythonhosted.org/packages/54/20/4d324d65cc6d9205fabedc306948156824eb9f0ee1633355a8f7ec5c66bf/pluggy-1.6.0-py3-none-any.whl
|
|
@@ -293,8 +295,8 @@ environments:
|
|
|
293
295
|
- pypi: https://files.pythonhosted.org/packages/c1/f6/ec7ec652c51db77c2f61d8573338e13e4704303265ccc658cb4031d9f354/ast_serialize-0.6.0-cp39-abi3-macosx_11_0_arm64.whl
|
|
294
296
|
- pypi: https://files.pythonhosted.org/packages/c7/7b/14882602ddee241d7984a742fcb423cb4a30fb0d6efc546ac3129fba475a/python_discovery-1.5.0-py3-none-any.whl
|
|
295
297
|
- pypi: https://files.pythonhosted.org/packages/c7/da/32c752228ae345f489e3a42499d817b6c3996da7e8a3bc7a04fc806b243b/pillow-12.3.0-cp314-cp314-macosx_11_0_arm64.whl
|
|
296
|
-
- pypi: https://files.pythonhosted.org/packages/c9/10/74e53572aa758dfaa678c2a2646b5c5515d884b7ca56be4d2ce03ca4b560/ruff-0.15.22-py3-none-macosx_11_0_arm64.whl
|
|
297
298
|
- pypi: https://files.pythonhosted.org/packages/cb/b1/3846dd7f199d53cb17f49cba7e651e9ce294d8497c8c150530ed11865bb8/iniconfig-2.3.0-py3-none-any.whl
|
|
299
|
+
- pypi: https://files.pythonhosted.org/packages/d0/fb/be7d2e16e6c6143cd6834cd488d990d75352a5c9cdad6d5c615b5f01d736/stjames-0.0.236-py3-none-any.whl
|
|
298
300
|
- pypi: https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl
|
|
299
301
|
- pypi: https://files.pythonhosted.org/packages/d1/fc/10ab7e80650a9c9e8f4f1105f8c8e73567f88ed0c06ada589ab81d38687c/mkdocstrings_python-2.0.5-py3-none-any.whl
|
|
300
302
|
- pypi: https://files.pythonhosted.org/packages/d4/2b/04b8a15f3a1c77bc79ddf5c73875327f34b4fa75982df2b76e45e402d364/asttokens-3.0.2-py3-none-any.whl
|
|
@@ -308,9 +310,7 @@ environments:
|
|
|
308
310
|
- pypi: https://files.pythonhosted.org/packages/df/b2/87e62e8c3e2f4b32e5fe99e0b86d576da1312593b39f47d8ceef365e95ed/packaging-26.2-py3-none-any.whl
|
|
309
311
|
- pypi: https://files.pythonhosted.org/packages/e4/d3/5268aeabf2ad82658c4e2ff3a060648d0f02f3926cb53247c0e4d0dab49e/griffelib-2.1.0-py3-none-any.whl
|
|
310
312
|
- pypi: https://files.pythonhosted.org/packages/e8/3d/1087453384dbde46a8c7f9356eead2c58be8a7bf156bca40243377c85715/more_itertools-11.1.0-py3-none-any.whl
|
|
311
|
-
- pypi: https://files.pythonhosted.org/packages/ec/4f/60f375c1abfbb364cb56ee70d4cae5c2cc9762d434531c61f066d8610605/stjames-0.0.233-py3-none-any.whl
|
|
312
313
|
- pypi: https://files.pythonhosted.org/packages/ec/57/56b9bcc3c9c6a792fcbaf139543cee77261f3651ca9da0c93f5c1221264b/python_dateutil-2.9.0.post0-py2.py3-none-any.whl
|
|
313
|
-
- pypi: https://files.pythonhosted.org/packages/ef/2f/c5464532e965badff2f4c4c1a3a83f5697f0d7c407ed0cda44aaa99bb451/certifi-2026.6.17-py3-none-any.whl
|
|
314
314
|
- pypi: https://files.pythonhosted.org/packages/f1/7b/ce1eafaf1a76852e2ec9b22edecf1daa58175c090266e9f6c64afcd81d91/stack_data-0.6.3-py3-none-any.whl
|
|
315
315
|
- pypi: https://files.pythonhosted.org/packages/f1/d9/7fb5aa316bc299258e68c73ba3bddbc499654a07f151cba08f6153988714/pathspec-1.1.1-py3-none-any.whl
|
|
316
316
|
- pypi: https://files.pythonhosted.org/packages/f4/7e/a72dd26f3b0f4f2bf1dd8923c85f7ceb43172af56d63c7383eb62b332364/pygments-2.20.0-py3-none-any.whl
|
|
@@ -597,16 +597,16 @@ packages:
|
|
|
597
597
|
- zstd >=1.5.7,<1.6.0a0
|
|
598
598
|
size: 601375
|
|
599
599
|
timestamp: 1764777111296
|
|
600
|
-
- conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.
|
|
601
|
-
sha256:
|
|
602
|
-
md5:
|
|
600
|
+
- conda: https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.7.22-hbd8a1cb_0.conda
|
|
601
|
+
sha256: 0a0544cf95f64394fe4959286f5c71f5444ad58feb0602e53becb27448d24da6
|
|
602
|
+
md5: 0f51e2391ade309db462a55611263e9c
|
|
603
603
|
depends:
|
|
604
604
|
- __unix
|
|
605
605
|
license: ISC
|
|
606
606
|
purls: []
|
|
607
607
|
run_exports: {}
|
|
608
|
-
size:
|
|
609
|
-
timestamp:
|
|
608
|
+
size: 131780
|
|
609
|
+
timestamp: 1784754889428
|
|
610
610
|
- conda: https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda
|
|
611
611
|
build_number: 8
|
|
612
612
|
sha256: ad6d2e9ac39751cc0529dd1566a26751a0bf2542adb0c232533d32e176e21db5
|
|
@@ -820,7 +820,7 @@ packages:
|
|
|
820
820
|
name: rowan-python
|
|
821
821
|
requires_dist:
|
|
822
822
|
- httpx
|
|
823
|
-
- stjames>=0.0.
|
|
823
|
+
- stjames>=0.0.236
|
|
824
824
|
- setuptools
|
|
825
825
|
- rdkit
|
|
826
826
|
- nest-asyncio
|
|
@@ -851,6 +851,11 @@ packages:
|
|
|
851
851
|
version: 3.32.0
|
|
852
852
|
sha256: d396bea984af47333ef05e50eae7eff88c84256de6112aea0ec48a233c064fe3
|
|
853
853
|
requires_python: '>=3.10'
|
|
854
|
+
- pypi: https://files.pythonhosted.org/packages/0b/a7/71ac2cff56fec219ed242bb11b8efb69fcc4bec75db06fb7bfe35de520e6/certifi-2026.7.22-py3-none-any.whl
|
|
855
|
+
name: certifi
|
|
856
|
+
version: 2026.7.22
|
|
857
|
+
sha256: 62f22742b58a1a33014a2b6b706588a8d7e2a88ae7bd1a6ebe8c992928483775
|
|
858
|
+
requires_python: '>=3.7'
|
|
854
859
|
- pypi: https://files.pythonhosted.org/packages/0b/d7/1959b9648791274998a9c3526f6d0ec8fd2233e4d4acce81bbae76b44b2a/python_dotenv-1.2.2-py3-none-any.whl
|
|
855
860
|
name: python-dotenv
|
|
856
861
|
version: 1.2.2
|
|
@@ -1072,6 +1077,11 @@ packages:
|
|
|
1072
1077
|
version: 2.5.1
|
|
1073
1078
|
sha256: 54ad769f17bc2d833b620851989f62054fb9ab93c969d9e1dc3c8e3d56beea21
|
|
1074
1079
|
requires_python: '>=3.12'
|
|
1080
|
+
- pypi: https://files.pythonhosted.org/packages/42/ce/741cd197496a1abbf51352710fd15ed995d2a2be87189c1da26a450d6e83/ruff-0.16.0-py3-none-macosx_11_0_arm64.whl
|
|
1081
|
+
name: ruff
|
|
1082
|
+
version: 0.16.0
|
|
1083
|
+
sha256: e01c21d10eb1b29f47b7454e1f4056db9a3f0260c646aa88457c610291db9f81
|
|
1084
|
+
requires_python: '>=3.7'
|
|
1075
1085
|
- pypi: https://files.pythonhosted.org/packages/49/d3/b8441a820a491ddfc024b0b0cf0393375b75ea13866d9c66727e54c2fc80/typing_extensions-4.16.0-py3-none-any.whl
|
|
1076
1086
|
name: typing-extensions
|
|
1077
1087
|
version: 4.16.0
|
|
@@ -1376,6 +1386,11 @@ packages:
|
|
|
1376
1386
|
- pytest ; extra == 'dev'
|
|
1377
1387
|
- tox ; extra == 'dev'
|
|
1378
1388
|
- black ; extra == 'lint'
|
|
1389
|
+
- pypi: https://files.pythonhosted.org/packages/91/66/6bd3cf90500653d55dc0ffc8507aa8300bd49d0214b2e8cb4d3fef2943ba/ruff-0.16.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
|
|
1390
|
+
name: ruff
|
|
1391
|
+
version: 0.16.0
|
|
1392
|
+
sha256: 4f11a8d11010301d0a398a2fdef67691feca7294da6aef55e2150e8fa2cd520b
|
|
1393
|
+
requires_python: '>=3.7'
|
|
1379
1394
|
- pypi: https://files.pythonhosted.org/packages/94/84/d9273cd09688070a6523c4aee4663a8538721b2b755c4962aafae0011e72/identify-2.6.19-py2.py3-none-any.whl
|
|
1380
1395
|
name: identify
|
|
1381
1396
|
version: 2.6.19
|
|
@@ -1681,11 +1696,6 @@ packages:
|
|
|
1681
1696
|
- trove-classifiers>=2024.10.12 ; extra == 'tests'
|
|
1682
1697
|
- defusedxml ; extra == 'xmp'
|
|
1683
1698
|
requires_python: '>=3.10'
|
|
1684
|
-
- pypi: https://files.pythonhosted.org/packages/c9/10/74e53572aa758dfaa678c2a2646b5c5515d884b7ca56be4d2ce03ca4b560/ruff-0.15.22-py3-none-macosx_11_0_arm64.whl
|
|
1685
|
-
name: ruff
|
|
1686
|
-
version: 0.15.22
|
|
1687
|
-
sha256: 11c1c715af53a09f714e011106bffc419751ec8232fcb5da42173284ea3fec6f
|
|
1688
|
-
requires_python: '>=3.7'
|
|
1689
1699
|
- pypi: https://files.pythonhosted.org/packages/ca/87/b4d6c38e0ccd5e85dc54cecdf933a152c60b28fe5d993a6d8a72fa6d5896/ast_serialize-0.6.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
|
|
1690
1700
|
name: ast-serialize
|
|
1691
1701
|
version: 0.6.0
|
|
@@ -1696,6 +1706,17 @@ packages:
|
|
|
1696
1706
|
version: 2.3.0
|
|
1697
1707
|
sha256: f631c04d2c48c52b84d0d0549c99ff3859c98df65b3101406327ecc7d53fbf12
|
|
1698
1708
|
requires_python: '>=3.10'
|
|
1709
|
+
- pypi: https://files.pythonhosted.org/packages/d0/fb/be7d2e16e6c6143cd6834cd488d990d75352a5c9cdad6d5c615b5f01d736/stjames-0.0.236-py3-none-any.whl
|
|
1710
|
+
name: stjames
|
|
1711
|
+
version: 0.0.236
|
|
1712
|
+
sha256: ea1459a5d0e0ccd206e5a387b201beec5e60ad6bc4f15dbcf649e2d4667fc40c
|
|
1713
|
+
requires_dist:
|
|
1714
|
+
- pydantic>=2.4
|
|
1715
|
+
- numpy
|
|
1716
|
+
- requests
|
|
1717
|
+
- more-itertools
|
|
1718
|
+
- rdkit ; extra == 'rdkit'
|
|
1719
|
+
requires_python: '>=3.11'
|
|
1699
1720
|
- pypi: https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl
|
|
1700
1721
|
name: colorama
|
|
1701
1722
|
version: 0.4.6
|
|
@@ -1808,17 +1829,6 @@ packages:
|
|
|
1808
1829
|
version: 11.1.0
|
|
1809
1830
|
sha256: 4b65538ae22f6fed0ce4874efd317463a7489796a0939fa66824dd542125a192
|
|
1810
1831
|
requires_python: '>=3.10'
|
|
1811
|
-
- pypi: https://files.pythonhosted.org/packages/ec/4f/60f375c1abfbb364cb56ee70d4cae5c2cc9762d434531c61f066d8610605/stjames-0.0.233-py3-none-any.whl
|
|
1812
|
-
name: stjames
|
|
1813
|
-
version: 0.0.233
|
|
1814
|
-
sha256: bd3bdf9c701b7649187c25c6d73e7bee46b5ac32cddad43c47979243a28d1023
|
|
1815
|
-
requires_dist:
|
|
1816
|
-
- pydantic>=2.4
|
|
1817
|
-
- numpy
|
|
1818
|
-
- requests
|
|
1819
|
-
- more-itertools
|
|
1820
|
-
- rdkit ; extra == 'rdkit'
|
|
1821
|
-
requires_python: '>=3.11'
|
|
1822
1832
|
- pypi: https://files.pythonhosted.org/packages/ec/57/56b9bcc3c9c6a792fcbaf139543cee77261f3651ca9da0c93f5c1221264b/python_dateutil-2.9.0.post0-py2.py3-none-any.whl
|
|
1823
1833
|
name: python-dateutil
|
|
1824
1834
|
version: 2.9.0.post0
|
|
@@ -1826,11 +1836,6 @@ packages:
|
|
|
1826
1836
|
requires_dist:
|
|
1827
1837
|
- six>=1.5
|
|
1828
1838
|
requires_python: '>=2.7,!=3.0.*,!=3.1.*,!=3.2.*'
|
|
1829
|
-
- pypi: https://files.pythonhosted.org/packages/ef/2f/c5464532e965badff2f4c4c1a3a83f5697f0d7c407ed0cda44aaa99bb451/certifi-2026.6.17-py3-none-any.whl
|
|
1830
|
-
name: certifi
|
|
1831
|
-
version: 2026.6.17
|
|
1832
|
-
sha256: 2227dcbaafe0d2f59279d1762ddddc37783ed4354594f194ffc31d20f41fc3db
|
|
1833
|
-
requires_python: '>=3.7'
|
|
1834
1839
|
- pypi: https://files.pythonhosted.org/packages/f1/7b/ce1eafaf1a76852e2ec9b22edecf1daa58175c090266e9f6c64afcd81d91/stack_data-0.6.3-py3-none-any.whl
|
|
1835
1840
|
name: stack-data
|
|
1836
1841
|
version: 0.6.3
|
|
@@ -1865,11 +1870,6 @@ packages:
|
|
|
1865
1870
|
version: 3.4.9
|
|
1866
1871
|
sha256: c25fe15c70c59eb7c5ce8c06a1f3fa1da0ecc5ea1e7a5922c40fd2fa9b0d5046
|
|
1867
1872
|
requires_python: '>=3.7'
|
|
1868
|
-
- pypi: https://files.pythonhosted.org/packages/f6/f9/a0d4871d12fae702eb1f41b686caf05f1f8b124dc6db6f784f53d74918fa/ruff-0.15.22-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
|
|
1869
|
-
name: ruff
|
|
1870
|
-
version: 0.15.22
|
|
1871
|
-
sha256: 365523eb91d9224e1bcb03b022fbf0facb8f9e23792a2c53d9d4b3924bdbdebb
|
|
1872
|
-
requires_python: '>=3.7'
|
|
1873
1873
|
- pypi: https://files.pythonhosted.org/packages/f7/ec/67fbef5d497f86283db54c22eec6f6140243aae73265799baaaa19cd17fb/ghp_import-2.1.0-py3-none-any.whl
|
|
1874
1874
|
name: ghp-import
|
|
1875
1875
|
version: 2.1.0
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "rowan-python"
|
|
3
|
-
version = "3.1.
|
|
3
|
+
version = "3.1.9"
|
|
4
4
|
description = "Rowan Python Library"
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
requires-python = ">=3.12"
|
|
@@ -9,7 +9,7 @@ authors = [
|
|
|
9
9
|
]
|
|
10
10
|
dependencies = [
|
|
11
11
|
"httpx",
|
|
12
|
-
"stjames>=0.0.
|
|
12
|
+
"stjames>=0.0.236",
|
|
13
13
|
"setuptools",
|
|
14
14
|
"rdkit",
|
|
15
15
|
"nest-asyncio",
|
|
@@ -83,6 +83,7 @@ ignore = [
|
|
|
83
83
|
"PLR0911", # Too many returns
|
|
84
84
|
"PLR0912", # Too many branches
|
|
85
85
|
"PLR0913", # Too many arguments to function call
|
|
86
|
+
"PLR0917", # Too many positional arguments
|
|
86
87
|
"PLR0914", # Too many locals
|
|
87
88
|
"PLR0915", # Too many statements
|
|
88
89
|
"PLR1702", # Too many nested-blocks
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"""NMR workflow - predict Nuclear Magnetic Resonance spectra."""
|
|
2
2
|
|
|
3
3
|
from dataclasses import dataclass
|
|
4
|
+
from typing import Any
|
|
4
5
|
|
|
5
6
|
import stjames
|
|
6
7
|
|
|
@@ -98,6 +99,32 @@ class NMRResult(WorkflowResult):
|
|
|
98
99
|
return self._workflow.symmetry_equivalent_nuclei
|
|
99
100
|
|
|
100
101
|
|
|
102
|
+
def _nmr_multistage_opt_settings(solvent: SolventInput) -> stjames.MultiStageOptSettings:
|
|
103
|
+
"""
|
|
104
|
+
Build NMR optimization settings, adding a solvated AIMNet2 singlepoint.
|
|
105
|
+
|
|
106
|
+
Optimization runs gas-phase (matching MagNet); the solvated singlepoint, whose solvent model
|
|
107
|
+
is looked up from stjames.NMR_SOLVENT_MODELS, reweights the conformer ensemble.
|
|
108
|
+
|
|
109
|
+
:param solvent: solvent for the prediction
|
|
110
|
+
:returns: multi-stage optimization settings
|
|
111
|
+
"""
|
|
112
|
+
singlepoint_settings = stjames.Settings(
|
|
113
|
+
method=stjames.Method.AIMNET2_WB97MD3,
|
|
114
|
+
tasks=[stjames.Task.ENERGY],
|
|
115
|
+
solvent_settings=stjames.SolventSettings(
|
|
116
|
+
solvent=solvent, model=stjames.NMR_SOLVENT_MODELS[stjames.Solvent(solvent)]
|
|
117
|
+
),
|
|
118
|
+
)
|
|
119
|
+
|
|
120
|
+
return stjames.MultiStageOptSettings(
|
|
121
|
+
optimization_settings=[
|
|
122
|
+
stjames.Settings(method=stjames.Method.AIMNET2_WB97MD3, tasks=[stjames.Task.OPTIMIZE])
|
|
123
|
+
],
|
|
124
|
+
singlepoint_settings=singlepoint_settings,
|
|
125
|
+
)
|
|
126
|
+
|
|
127
|
+
|
|
101
128
|
def submit_nmr_workflow(
|
|
102
129
|
initial_molecule: StructureInput,
|
|
103
130
|
solvent: SolventInput = "chloroform",
|
|
@@ -114,7 +141,10 @@ def submit_nmr_workflow(
|
|
|
114
141
|
Submits a Nuclear Magnetic Resonance (NMR) prediction workflow to the API.
|
|
115
142
|
|
|
116
143
|
:param initial_molecule: Molecule to predict NMR spectra for.
|
|
117
|
-
:param solvent: Solvent for NMR calculation (default: chloroform).
|
|
144
|
+
:param solvent: Solvent for NMR calculation (default: chloroform). Must be an NMR-supported
|
|
145
|
+
solvent (see rowan.NMR_SUPPORTED_SOLVENTS); others raise ValueError. A solvated AIMNet2
|
|
146
|
+
singlepoint reweights the conformer ensemble, using CPCM-X where supported and
|
|
147
|
+
otherwise ALPB.
|
|
118
148
|
:param do_csearch: Whether to perform a conformational search. Requires do_optimization.
|
|
119
149
|
:param do_optimization: Whether to optimize conformer geometries.
|
|
120
150
|
:param name: Name of the workflow.
|
|
@@ -127,6 +157,12 @@ def submit_nmr_workflow(
|
|
|
127
157
|
:raises requests.HTTPError: if the request to the API fails.
|
|
128
158
|
"""
|
|
129
159
|
require_coordinates(initial_molecule)
|
|
160
|
+
if stjames.Solvent(solvent) not in stjames.NMR_SUPPORTED_SOLVENTS:
|
|
161
|
+
supported = ", ".join(sorted(s.value for s in stjames.NMR_SUPPORTED_SOLVENTS))
|
|
162
|
+
raise ValueError(
|
|
163
|
+
f"{stjames.Solvent(solvent).value!r} is not an NMR-supported solvent. "
|
|
164
|
+
f"NMR-supported solvents: {supported}."
|
|
165
|
+
)
|
|
130
166
|
if do_csearch and not do_optimization:
|
|
131
167
|
raise ValueError(
|
|
132
168
|
"`do_optimization` must be True when `do_csearch` is True; the conformers from "
|
|
@@ -138,13 +174,15 @@ def submit_nmr_workflow(
|
|
|
138
174
|
folder_uuid = folder.uuid
|
|
139
175
|
mol_dict = molecule_to_dict(initial_molecule)
|
|
140
176
|
|
|
141
|
-
workflow_data = {"initial_molecule": mol_dict, "solvent": solvent}
|
|
177
|
+
workflow_data: dict[str, Any] = {"initial_molecule": mol_dict, "solvent": solvent}
|
|
142
178
|
|
|
143
179
|
if not do_csearch:
|
|
144
180
|
workflow_data["conf_gen_settings"] = None
|
|
145
181
|
|
|
146
182
|
if not do_optimization:
|
|
147
183
|
workflow_data["multistage_opt_settings"] = None
|
|
184
|
+
else:
|
|
185
|
+
workflow_data["multistage_opt_settings"] = _nmr_multistage_opt_settings(solvent)
|
|
148
186
|
|
|
149
187
|
workflow = stjames.NMRSpectroscopyWorkflow.model_validate(workflow_data)
|
|
150
188
|
|
|
@@ -49,7 +49,7 @@ wf = rowan.submit_analogue_docking_workflow(
|
|
|
49
49
|
)
|
|
50
50
|
|
|
51
51
|
result = wf.result()
|
|
52
|
-
print(result)
|
|
52
|
+
print(result) # e.g. <AnalogueDockingResult analogues=3 best=(-8.30, 'CN(C)CCC...')>
|
|
53
53
|
|
|
54
54
|
# result.analogue_scores: docking scores per analogue (keyed by SMILES).
|
|
55
55
|
# result.best_poses: top pose per analogue (keyed by SMILES); each pose's .name is the
|
|
@@ -49,8 +49,8 @@ wf = rowan.submit_basic_calculation_workflow(
|
|
|
49
49
|
)
|
|
50
50
|
|
|
51
51
|
result = wf.result()
|
|
52
|
-
print(result.energy)
|
|
53
|
-
print(result.molecule)
|
|
52
|
+
print(result.energy) # energy in Hartree
|
|
53
|
+
print(result.molecule) # resulting structure with computed properties
|
|
54
54
|
```
|
|
55
55
|
|
|
56
56
|
## Tuning individual settings
|
|
@@ -16,16 +16,16 @@ mol = rowan.Molecule.from_smiles("CCO") # ethanol
|
|
|
16
16
|
# Find the bond you want. The bond-finder helpers return 1-indexed (heavy, H) pairs.
|
|
17
17
|
# Here: oxygen (atomic number 8) to hydrogen (1), within 1.2 Angstroms.
|
|
18
18
|
oh_bonds = rowan.find_bonds(mol, element_a=8, element_b=1, distance_max=1.2) # -> [(3, 9)]
|
|
19
|
-
h = oh_bonds[0][1]
|
|
19
|
+
h = oh_bonds[0][1] # the hydroxyl hydrogen (atom 9)
|
|
20
20
|
|
|
21
21
|
wf = rowan.submit_bde_workflow(
|
|
22
22
|
initial_molecule=mol,
|
|
23
|
-
fragment_indices=[[h]],
|
|
23
|
+
fragment_indices=[[h]], # break the O-H: the dissociating fragment is just that H
|
|
24
24
|
folder=folder,
|
|
25
25
|
)
|
|
26
26
|
|
|
27
27
|
result = wf.result()
|
|
28
|
-
print(result.bdes)
|
|
28
|
+
print(result.bdes) # list of BDEEntry, each with fragment_idxs and energy (Hartree)
|
|
29
29
|
```
|
|
30
30
|
|
|
31
31
|
Reported BDEs are empirically corrected to experiment (the ExpBDE54 benchmark) to account for zero-point, enthalpy, and relativistic effects, so they are corrected enthalpies rather than raw electronic energies. Expect a few kcal/mol RMSE versus experiment.
|
|
@@ -15,14 +15,14 @@ import rowan
|
|
|
15
15
|
folder = rowan.get_folder("examples")
|
|
16
16
|
|
|
17
17
|
wf = rowan.submit_conformer_search_workflow(
|
|
18
|
-
initial_molecule="CCOCC",
|
|
18
|
+
initial_molecule="CCOCC", # SMILES works because the default generator is OpenConf
|
|
19
19
|
final_method="aimnet2_wb97md3",
|
|
20
20
|
folder=folder,
|
|
21
21
|
)
|
|
22
22
|
|
|
23
23
|
result = wf.result()
|
|
24
|
-
print(result.get_energies(relative=True))
|
|
25
|
-
best = result.get_conformers(1)[0]
|
|
24
|
+
print(result.get_energies(relative=True)) # relative energies (kcal/mol), lowest first
|
|
25
|
+
best = result.get_conformers(1)[0] # lowest-energy conformer, a rowan.Molecule
|
|
26
26
|
```
|
|
27
27
|
|
|
28
28
|
`get_conformers(n)` returns the `n` lowest-energy conformers as `rowan.Molecule` objects (omit `n` for all), and `get_energies(relative=True)` gives their relative energies in kcal/mol. Both are energy-ordered, so the lowest-energy conformer is index 0, ready to feed into a downstream 3D workflow. `get_conformers` makes one API call per conformer, so request only as many as you need.
|
|
@@ -13,13 +13,13 @@ folder = rowan.get_folder("examples")
|
|
|
13
13
|
|
|
14
14
|
wf = rowan.submit_descriptors_workflow(
|
|
15
15
|
initial_molecule=rowan.Molecule.from_smiles("CC(=O)Oc1ccccc1C(=O)O"), # aspirin
|
|
16
|
-
solvent="water",
|
|
16
|
+
solvent="water", # opt into the COSMO descriptors; omit for gas phase
|
|
17
17
|
folder=folder,
|
|
18
18
|
)
|
|
19
19
|
|
|
20
20
|
result = wf.result()
|
|
21
|
-
print(result)
|
|
22
|
-
print(result.descriptors)
|
|
21
|
+
print(result) # <DescriptorsResult n=...>
|
|
22
|
+
print(result.descriptors) # dict of computed descriptors
|
|
23
23
|
```
|
|
24
24
|
|
|
25
25
|
`result.descriptors` holds electronic descriptors from xTB (atomic charges, the global electrophilicity index, and Fukui indices, as in the Fukui workflow), cheminformatic descriptors from Mordred, and the COSMO solvation descriptors when a `solvent` is set.
|
|
@@ -18,8 +18,8 @@ To narrow a blind search to likely sites first, run pocket detection and feed a
|
|
|
18
18
|
|
|
19
19
|
```python
|
|
20
20
|
pockets = rowan.submit_pocket_detection_workflow(protein).result().pockets
|
|
21
|
-
best = max(pockets, key=lambda p: p.score)
|
|
22
|
-
pocket = [list(best.pocket_center), list(best.pocket_sides)]
|
|
21
|
+
best = max(pockets, key=lambda p: p.score) # rank by druggability score
|
|
22
|
+
pocket = [list(best.pocket_center), list(best.pocket_sides)] # ready for submit_docking_workflow
|
|
23
23
|
```
|
|
24
24
|
|
|
25
25
|
## Example
|
|
@@ -12,17 +12,19 @@ import rowan
|
|
|
12
12
|
folder = rowan.get_folder("examples")
|
|
13
13
|
|
|
14
14
|
reactant = rowan.Molecule.from_xyz("H 0 0 -1.1\nC 0 0 0\nN 0 0 1.2") # HCN
|
|
15
|
-
product = rowan.Molecule.from_xyz("H 0 0 2.3\nC 0 0 0\nN 0 0 1.2")
|
|
15
|
+
product = rowan.Molecule.from_xyz("H 0 0 2.3\nC 0 0 0\nN 0 0 1.2") # CNH
|
|
16
16
|
|
|
17
17
|
wf = rowan.submit_double_ended_ts_search_workflow(
|
|
18
18
|
reactant=reactant,
|
|
19
19
|
product=product,
|
|
20
|
-
calculation_settings=rowan.Settings(
|
|
20
|
+
calculation_settings=rowan.Settings(
|
|
21
|
+
method=rowan.Method.GFN2_XTB
|
|
22
|
+
), # level of theory for the search
|
|
21
23
|
folder=folder,
|
|
22
24
|
)
|
|
23
25
|
|
|
24
26
|
result = wf.result()
|
|
25
|
-
print(result)
|
|
27
|
+
print(result) # <DoubleEndedTSSearchResult ts_uuid=... fwd=... bwd=...>
|
|
26
28
|
print([p.distance for p in result.forward_path])
|
|
27
29
|
print([p.distance for p in result.backward_path])
|
|
28
30
|
```
|
|
@@ -20,7 +20,7 @@ wf = rowan.submit_electronic_properties_workflow(
|
|
|
20
20
|
)
|
|
21
21
|
|
|
22
22
|
result = wf.result()
|
|
23
|
-
print(result)
|
|
23
|
+
print(result) # orbitals, density/ESP cubes, charges, bond orders, multipole moments
|
|
24
24
|
```
|
|
25
25
|
|
|
26
26
|
## Settings
|
|
@@ -5,7 +5,7 @@ Workflows live in a tree of folders, rooted in a project. A project is a closed
|
|
|
5
5
|
## Get a folder by path
|
|
6
6
|
|
|
7
7
|
```python
|
|
8
|
-
folder = rowan.get_folder("CDK2/docking/batch_1")
|
|
8
|
+
folder = rowan.get_folder("CDK2/docking/batch_1") # creates missing segments by default
|
|
9
9
|
folder = rowan.get_folder("CDK2/docking", create=False) # raises if it doesn't exist
|
|
10
10
|
wf = rowan.submit_docking_workflow(..., folder=folder)
|
|
11
11
|
```
|
|
@@ -17,14 +17,14 @@ wf = rowan.submit_docking_workflow(..., folder=folder)
|
|
|
17
17
|
Start at the project root, then list or navigate:
|
|
18
18
|
|
|
19
19
|
```python
|
|
20
|
-
root = rowan.root_folder()
|
|
20
|
+
root = rowan.root_folder() # root folder of the active project
|
|
21
21
|
|
|
22
|
-
root.children()
|
|
23
|
-
root.workflows()
|
|
24
|
-
root.contents()
|
|
22
|
+
root.children() # list[Folder] — subfolders only
|
|
23
|
+
root.workflows() # list[Workflow] — workflows only
|
|
24
|
+
root.contents() # list[Folder | Workflow] — both, folders first
|
|
25
25
|
|
|
26
|
-
docking = root / "CDK2" / "docking"
|
|
27
|
-
parent = docking.parent()
|
|
26
|
+
docking = root / "CDK2" / "docking" # navigate by name with the / operator
|
|
27
|
+
parent = docking.parent() # Folder, or None at the root
|
|
28
28
|
```
|
|
29
29
|
|
|
30
30
|
- `children()`, `workflows()`, and `contents()` each take a `size=` cap (default 100) and return fully-typed objects you can act on (e.g. `wf.result()`).
|
|
@@ -38,22 +38,22 @@ project is a closed scope — set it once and all folder/workflow operations sta
|
|
|
38
38
|
|
|
39
39
|
```python
|
|
40
40
|
# Find / list
|
|
41
|
-
rowan.list_projects()
|
|
42
|
-
rowan.list_projects(name_contains="CDK2")
|
|
43
|
-
proj = rowan.retrieve_project(uuid)
|
|
44
|
-
default = rowan.default_project()
|
|
41
|
+
rowan.list_projects() # list[Project]
|
|
42
|
+
rowan.list_projects(name_contains="CDK2") # filtered
|
|
43
|
+
proj = rowan.retrieve_project(uuid) # by UUID (from the project URL)
|
|
44
|
+
default = rowan.default_project() # the account's default project
|
|
45
45
|
|
|
46
46
|
# Create
|
|
47
47
|
proj = rowan.create_project("CDK2 campaign")
|
|
48
|
-
proj = rowan.get_project("CDK2 campaign", create=True)
|
|
48
|
+
proj = rowan.get_project("CDK2 campaign", create=True) # get-or-create (create defaults to False)
|
|
49
49
|
|
|
50
50
|
# Switch the active project (all subsequent folder/workflow operations scope to it)
|
|
51
|
-
rowan.set_project("CDK2 campaign")
|
|
52
|
-
rowan.project_uuid = proj.uuid
|
|
51
|
+
rowan.set_project("CDK2 campaign") # by name; sets rowan.project_uuid
|
|
52
|
+
rowan.project_uuid = proj.uuid # or assign the UUID directly
|
|
53
53
|
|
|
54
54
|
# Rename / delete
|
|
55
55
|
proj.update(name="CDK2 campaign v2")
|
|
56
|
-
proj.delete()
|
|
56
|
+
proj.delete() # destructive: removes all folders + workflows inside
|
|
57
57
|
```
|
|
58
58
|
|
|
59
59
|
With no project set, the default project is used. `set_project` raises `ValueError` if no project
|