caddforge-docs 0.3.0__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.
- caddforge_docs/__init__.py +1 -0
- caddforge_docs/cli.py +20 -0
- caddforge_docs/server.py +124 -0
- caddforge_docs/site/404.html +2118 -0
- caddforge_docs/site/assets/_mkdocstrings.css +237 -0
- caddforge_docs/site/assets/images/favicon.png +0 -0
- caddforge_docs/site/assets/javascripts/bundle.d7400e89.min.js +16 -0
- caddforge_docs/site/assets/javascripts/bundle.d7400e89.min.js.map +7 -0
- caddforge_docs/site/assets/javascripts/workers/search.2c215733.min.js +42 -0
- caddforge_docs/site/assets/javascripts/workers/search.2c215733.min.js.map +7 -0
- caddforge_docs/site/assets/licenses/W3C-Software-and-Document-2015.txt +15 -0
- caddforge_docs/site/assets/licenses/autogrid-COPYING-GPL-2.txt +339 -0
- caddforge_docs/site/assets/licenses/autogrid-GCC-RUNTIME-COPYING-GPL-3.txt +674 -0
- caddforge_docs/site/assets/licenses/autogrid-GCC-RUNTIME-EXCEPTION.txt +73 -0
- caddforge_docs/site/assets/licenses/autogrid-GCC-RUNTIME-NOTICE.txt +24 -0
- caddforge_docs/site/assets/licenses/caddforge-opencosmors-COPYING.txt +674 -0
- caddforge_docs/site/assets/licenses/caddforge-opencosmors-LICENSE.txt +165 -0
- caddforge_docs/site/assets/licenses/caddforge-unidock-tools-LICENSE.txt +202 -0
- caddforge_docs/site/assets/licenses/clipboard-LICENSE.txt +19 -0
- caddforge_docs/site/assets/licenses/escape-html-LICENSE.txt +2 -0
- caddforge_docs/site/assets/licenses/focus-visible-LICENSE.txt +4 -0
- caddforge_docs/site/assets/licenses/fontawesome-LICENSE.txt +165 -0
- caddforge_docs/site/assets/licenses/fuzzaldrin-plus-LICENSE.txt +21 -0
- caddforge_docs/site/assets/licenses/lunr-LICENSE.txt +17 -0
- caddforge_docs/site/assets/licenses/material-LICENSE.txt +20 -0
- caddforge_docs/site/assets/licenses/material-design-color-LICENSE.txt +31 -0
- caddforge_docs/site/assets/licenses/material-shadows-LICENSE.txt +31 -0
- caddforge_docs/site/assets/licenses/mkdocs-material-LICENSE.txt +19 -0
- caddforge_docs/site/assets/licenses/mkdocs-material-extensions-LICENSE.txt +21 -0
- caddforge_docs/site/assets/licenses/mkdocs-section-index-LICENSE.txt +21 -0
- caddforge_docs/site/assets/licenses/mkdocstrings-LICENSE.txt +15 -0
- caddforge_docs/site/assets/licenses/mkdocstrings-python-LICENSE.txt +15 -0
- caddforge_docs/site/assets/licenses/octicons-LICENSE.txt +21 -0
- caddforge_docs/site/assets/licenses/preact-LICENSE.txt +19 -0
- caddforge_docs/site/assets/licenses/properdocs-LICENSE.txt +26 -0
- caddforge_docs/site/assets/licenses/pymdown-extensions-LICENSE.txt +113 -0
- caddforge_docs/site/assets/licenses/rxjs-LICENSE.txt +180 -0
- caddforge_docs/site/assets/licenses/simple-LICENSE.txt +30 -0
- caddforge_docs/site/assets/licenses/tiny-emitter-LICENSE.txt +19 -0
- caddforge_docs/site/assets/licenses/tslib-LICENSE.txt +12 -0
- caddforge_docs/site/assets/licenses/zeno-rocha-components-LICENSE.txt +22 -0
- caddforge_docs/site/assets/stylesheets/main.ec1eaa64.min.css +1 -0
- caddforge_docs/site/assets/stylesheets/main.ec1eaa64.min.css.map +1 -0
- caddforge_docs/site/assets/stylesheets/palette.ab4e12ef.min.css +1 -0
- caddforge_docs/site/assets/stylesheets/palette.ab4e12ef.min.css.map +1 -0
- caddforge_docs/site/core/cli/index.html +2446 -0
- caddforge_docs/site/core/concepts/index.html +2340 -0
- caddforge_docs/site/core/configuration/index.html +2300 -0
- caddforge_docs/site/core/index.html +2170 -0
- caddforge_docs/site/core/jobs-results/index.html +2315 -0
- caddforge_docs/site/core/plugins/index.html +2200 -0
- caddforge_docs/site/core/slurm/index.html +2562 -0
- caddforge_docs/site/development/ci-publishing/index.html +2345 -0
- caddforge_docs/site/development/contributing/index.html +2311 -0
- caddforge_docs/site/development/documentation/index.html +2380 -0
- caddforge_docs/site/development/index.html +2201 -0
- caddforge_docs/site/development/release-notes/index.html +2504 -0
- caddforge_docs/site/development/release-readiness/index.html +2333 -0
- caddforge_docs/site/development/security/index.html +2181 -0
- caddforge_docs/site/development/tool-authoring/index.html +2435 -0
- caddforge_docs/site/examples/index.html +2465 -0
- caddforge_docs/site/examples/manifest.json +158 -0
- caddforge_docs/site/examples/minimize/component_overrides.yaml +14 -0
- caddforge_docs/site/examples/minimize/ligand_only.yaml +13 -0
- caddforge_docs/site/examples/minimize/pipeline_docking.yaml +84 -0
- caddforge_docs/site/examples/minimize/pipeline_scatter.yaml +49 -0
- caddforge_docs/site/examples/minimize/pocket_free_shell_restrained.yaml +13 -0
- caddforge_docs/site/examples/minimize/pocket_restrained.yaml +13 -0
- caddforge_docs/site/examples/minimize/prepared_metal.yaml +14 -0
- caddforge_docs/site/examples/minimize/sidechains_free_backbone_fixed.yaml +13 -0
- caddforge_docs/site/examples/minimize/sidechains_free_backbone_restrained.yaml +13 -0
- caddforge_docs/site/examples/pipelines/descriptor-model-and-candidate-filter.yaml +44 -0
- caddforge_docs/site/examples/pipelines/dock-extract-and-minimize-poses.yaml +85 -0
- caddforge_docs/site/examples/pipelines/docking-screen-and-rescore.yaml +55 -0
- caddforge_docs/site/examples/pipelines/flexible-gnina-to-openbpmd-to-md-to-abfe.yaml +189 -0
- caddforge_docs/site/examples/pipelines/gnina-flexible-complex-artifacts.yaml +52 -0
- caddforge_docs/site/examples/pipelines/minimize-a-multi-pose-sdf.yaml +46 -0
- caddforge_docs/site/examples/pipelines/pose-level-md-selection.yaml +95 -0
- caddforge_docs/site/examples/pipelines/result-collection-and-diagnostics.yaml +55 -0
- caddforge_docs/site/examples/quickstart/diagnostics.yaml +8 -0
- caddforge_docs/site/examples/quickstart/index.html +2172 -0
- caddforge_docs/site/examples/quickstart/pipeline.yaml +23 -0
- caddforge_docs/site/examples/quickstart/run.py +18 -0
- caddforge_docs/site/examples/quickstart/run_pipeline.py +6 -0
- caddforge_docs/site/examples/quickstart/scores.csv +7 -0
- caddforge_docs/site/examples/quickstart/values.csv +31 -0
- caddforge_docs/site/examples/run_tool.py +40 -0
- caddforge_docs/site/examples/tools/datascience-csv-scatter.yaml +17 -0
- caddforge_docs/site/examples/tools/datascience-distribution-diagnostics.yaml +10 -0
- caddforge_docs/site/examples/tools/descriptors-ani-conformers.yaml +9 -0
- caddforge_docs/site/examples/tools/descriptors-ani-psa.yaml +9 -0
- caddforge_docs/site/examples/tools/descriptors-cluster-molecules.yaml +11 -0
- caddforge_docs/site/examples/tools/descriptors-phesa.yaml +7 -0
- caddforge_docs/site/examples/tools/docking-gnina.yaml +12 -0
- caddforge_docs/site/examples/tools/docking-idockya.yaml +8 -0
- caddforge_docs/site/examples/tools/docking-unidock.yaml +12 -0
- caddforge_docs/site/examples/tools/fep-openfe-abfe.yaml +53 -0
- caddforge_docs/site/examples/tools/fep-openfe-rbfe-septop.yaml +23 -0
- caddforge_docs/site/examples/tools/md-center-and-align.yaml +16 -0
- caddforge_docs/site/examples/tools/md-cluster-representative.yaml +16 -0
- caddforge_docs/site/examples/tools/md-extract-frames.yaml +17 -0
- caddforge_docs/site/examples/tools/md-fix-structure.yaml +20 -0
- caddforge_docs/site/examples/tools/md-grand.yaml +28 -0
- caddforge_docs/site/examples/tools/md-inducia.yaml +29 -0
- caddforge_docs/site/examples/tools/md-minimize.yaml +13 -0
- caddforge_docs/site/examples/tools/md-openbpmd.yaml +11 -0
- caddforge_docs/site/examples/tools/md-plain-md.yaml +28 -0
- caddforge_docs/site/examples/tools/ml-explore-classifier.yaml +5 -0
- caddforge_docs/site/examples/tools/ml-model-factory.yaml +32 -0
- caddforge_docs/site/examples/tools/ml-model-zoo.yaml +16 -0
- caddforge_docs/site/examples/tools/ml-pca.yaml +10 -0
- caddforge_docs/site/examples/tools/ml-simple-gp.yaml +17 -0
- caddforge_docs/site/examples/tools/qm-transfer-free-energy.yaml +11 -0
- caddforge_docs/site/explanation/references/index.html +2218 -0
- caddforge_docs/site/explanation/reproducibility/index.html +2306 -0
- caddforge_docs/site/explanation/third-party-notices/index.html +2599 -0
- caddforge_docs/site/getting-started/first-pipeline/index.html +2195 -0
- caddforge_docs/site/getting-started/first-workflow/index.html +2329 -0
- caddforge_docs/site/getting-started/index.html +2200 -0
- caddforge_docs/site/getting-started/installation/index.html +2541 -0
- caddforge_docs/site/gui/index.html +2267 -0
- caddforge_docs/site/gui/plugin-authoring/index.html +2280 -0
- caddforge_docs/site/gui/walkthrough/index.html +2181 -0
- caddforge_docs/site/how-to/jobs/index.html +2195 -0
- caddforge_docs/site/how-to/scatter/index.html +2193 -0
- caddforge_docs/site/how-to/troubleshooting/index.html +2429 -0
- caddforge_docs/site/index.html +2359 -0
- caddforge_docs/site/objects.inv +0 -0
- caddforge_docs/site/pipelines/artifacts/index.html +2314 -0
- caddforge_docs/site/pipelines/built-ins/index.html +2670 -0
- caddforge_docs/site/pipelines/examples/index.html +3186 -0
- caddforge_docs/site/pipelines/index.html +2164 -0
- caddforge_docs/site/pipelines/specification/index.html +2278 -0
- caddforge_docs/site/plugins/datascience/index.html +2405 -0
- caddforge_docs/site/plugins/descriptors/index.html +2609 -0
- caddforge_docs/site/plugins/docking/index.html +2480 -0
- caddforge_docs/site/plugins/fep/index.html +2508 -0
- caddforge_docs/site/plugins/index.html +2216 -0
- caddforge_docs/site/plugins/md/index.html +3795 -0
- caddforge_docs/site/plugins/ml/index.html +2815 -0
- caddforge_docs/site/plugins/qm/index.html +2309 -0
- caddforge_docs/site/plugins/version-matrix/index.html +2449 -0
- caddforge_docs/site/reference/api/index.html +4414 -0
- caddforge_docs/site/reference/index.html +2166 -0
- caddforge_docs/site/search/search_index.json +1 -0
- caddforge_docs/site/sitemap.xml +191 -0
- caddforge_docs/site/sitemap.xml.gz +0 -0
- caddforge_docs-0.3.0.dist-info/METADATA +158 -0
- caddforge_docs-0.3.0.dist-info/RECORD +152 -0
- caddforge_docs-0.3.0.dist-info/WHEEL +4 -0
- caddforge_docs-0.3.0.dist-info/entry_points.txt +2 -0
- caddforge_docs-0.3.0.dist-info/licenses/LICENSE +21 -0
|
@@ -0,0 +1,3795 @@
|
|
|
1
|
+
|
|
2
|
+
<!doctype html>
|
|
3
|
+
<html lang="en" class="no-js">
|
|
4
|
+
<head>
|
|
5
|
+
|
|
6
|
+
<meta charset="utf-8">
|
|
7
|
+
<meta name="viewport" content="width=device-width,initial-scale=1">
|
|
8
|
+
|
|
9
|
+
<meta name="description" content="Central documentation for the CADDForge CADD toolbox framework.">
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
<link rel="canonical" href="https://idorsia.github.io/caddforge-docs/plugins/md/">
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
<link rel="prev" href="../descriptors/">
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
<link rel="next" href="../fep/">
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
<link rel="icon" href="../../assets/images/favicon.png">
|
|
26
|
+
<meta name="generator" content="mkdocs-ProperDocs 1.6.7, mkdocs-material-9.7.7">
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
<title>MD - CADDForge</title>
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
<link rel="stylesheet" href="../../assets/stylesheets/main.ec1eaa64.min.css">
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
<link rel="stylesheet" href="../../assets/stylesheets/palette.ab4e12ef.min.css">
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
<link rel="stylesheet" href="../../assets/_mkdocstrings.css">
|
|
51
|
+
|
|
52
|
+
<script>__md_scope=new URL("../..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
</head>
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
<body dir="ltr" data-md-color-scheme="default" data-md-color-primary="blue" data-md-color-accent="teal">
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
<input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off">
|
|
72
|
+
<input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off">
|
|
73
|
+
<label class="md-overlay" for="__drawer"></label>
|
|
74
|
+
<div data-md-component="skip">
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
<a href="#md-plugin" class="md-skip">
|
|
78
|
+
Skip to content
|
|
79
|
+
</a>
|
|
80
|
+
|
|
81
|
+
</div>
|
|
82
|
+
<div data-md-component="announce">
|
|
83
|
+
|
|
84
|
+
</div>
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
|
|
91
|
+
<header class="md-header md-header--shadow" data-md-component="header">
|
|
92
|
+
<nav class="md-header__inner md-grid" aria-label="Header">
|
|
93
|
+
<a href="../.." title="CADDForge" class="md-header__button md-logo" aria-label="CADDForge" data-md-component="logo">
|
|
94
|
+
|
|
95
|
+
|
|
96
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg>
|
|
97
|
+
|
|
98
|
+
</a>
|
|
99
|
+
<label class="md-header__button md-icon" for="__drawer">
|
|
100
|
+
|
|
101
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"/></svg>
|
|
102
|
+
</label>
|
|
103
|
+
<div class="md-header__title" data-md-component="header-title">
|
|
104
|
+
<div class="md-header__ellipsis">
|
|
105
|
+
<div class="md-header__topic">
|
|
106
|
+
<span class="md-ellipsis">
|
|
107
|
+
CADDForge
|
|
108
|
+
</span>
|
|
109
|
+
</div>
|
|
110
|
+
<div class="md-header__topic" data-md-component="header-topic">
|
|
111
|
+
<span class="md-ellipsis">
|
|
112
|
+
|
|
113
|
+
MD
|
|
114
|
+
|
|
115
|
+
</span>
|
|
116
|
+
</div>
|
|
117
|
+
</div>
|
|
118
|
+
</div>
|
|
119
|
+
|
|
120
|
+
|
|
121
|
+
<form class="md-header__option" data-md-component="palette">
|
|
122
|
+
|
|
123
|
+
|
|
124
|
+
|
|
125
|
+
|
|
126
|
+
<input class="md-option" data-md-color-media="(prefers-color-scheme: light)" data-md-color-scheme="default" data-md-color-primary="blue" data-md-color-accent="teal" aria-label="Switch to dark mode" type="radio" name="__palette" id="__palette_0">
|
|
127
|
+
|
|
128
|
+
<label class="md-header__button md-icon" title="Switch to dark mode" for="__palette_1" hidden>
|
|
129
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="m17.75 4.09-2.53 1.94.91 3.06-2.63-1.81-2.63 1.81.91-3.06-2.53-1.94L12.44 4l1.06-3 1.06 3zm3.5 6.91-1.64 1.25.59 1.98-1.7-1.17-1.7 1.17.59-1.98L15.75 11l2.06-.05L18.5 9l.69 1.95zm-2.28 4.95c.83-.08 1.72 1.1 1.19 1.85-.32.45-.66.87-1.08 1.27C15.17 23 8.84 23 4.94 19.07c-3.91-3.9-3.91-10.24 0-14.14.4-.4.82-.76 1.27-1.08.75-.53 1.93.36 1.85 1.19-.27 2.86.69 5.83 2.89 8.02a9.96 9.96 0 0 0 8.02 2.89m-1.64 2.02a12.08 12.08 0 0 1-7.8-3.47c-2.17-2.19-3.33-5-3.49-7.82-2.81 3.14-2.7 7.96.31 10.98 3.02 3.01 7.84 3.12 10.98.31"/></svg>
|
|
130
|
+
</label>
|
|
131
|
+
|
|
132
|
+
|
|
133
|
+
|
|
134
|
+
|
|
135
|
+
|
|
136
|
+
<input class="md-option" data-md-color-media="(prefers-color-scheme: dark)" data-md-color-scheme="slate" data-md-color-primary="blue" data-md-color-accent="teal" aria-label="Switch to light mode" type="radio" name="__palette" id="__palette_1">
|
|
137
|
+
|
|
138
|
+
<label class="md-header__button md-icon" title="Switch to light mode" for="__palette_0" hidden>
|
|
139
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 7a5 5 0 0 1 5 5 5 5 0 0 1-5 5 5 5 0 0 1-5-5 5 5 0 0 1 5-5m0 2a3 3 0 0 0-3 3 3 3 0 0 0 3 3 3 3 0 0 0 3-3 3 3 0 0 0-3-3m0-7 2.39 3.42C13.65 5.15 12.84 5 12 5s-1.65.15-2.39.42zM3.34 7l4.16-.35A7.2 7.2 0 0 0 5.94 8.5c-.44.74-.69 1.5-.83 2.29zm.02 10 1.76-3.77a7.131 7.131 0 0 0 2.38 4.14zM20.65 7l-1.77 3.79a7.02 7.02 0 0 0-2.38-4.15zm-.01 10-4.14.36c.59-.51 1.12-1.14 1.54-1.86.42-.73.69-1.5.83-2.29zM12 22l-2.41-3.44c.74.27 1.55.44 2.41.44.82 0 1.63-.17 2.37-.44z"/></svg>
|
|
140
|
+
</label>
|
|
141
|
+
|
|
142
|
+
|
|
143
|
+
</form>
|
|
144
|
+
|
|
145
|
+
|
|
146
|
+
|
|
147
|
+
<script>var palette=__md_get("__palette");if(palette&&palette.color){if("(prefers-color-scheme)"===palette.color.media){var media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script>
|
|
148
|
+
|
|
149
|
+
|
|
150
|
+
|
|
151
|
+
|
|
152
|
+
|
|
153
|
+
<label class="md-header__button md-icon" for="__search">
|
|
154
|
+
|
|
155
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg>
|
|
156
|
+
</label>
|
|
157
|
+
<div class="md-search" data-md-component="search" role="dialog">
|
|
158
|
+
<label class="md-search__overlay" for="__search"></label>
|
|
159
|
+
<div class="md-search__inner" role="search">
|
|
160
|
+
<form class="md-search__form" name="search">
|
|
161
|
+
<input type="text" class="md-search__input" name="query" aria-label="Search" placeholder="Search" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="search-query" required>
|
|
162
|
+
<label class="md-search__icon md-icon" for="__search">
|
|
163
|
+
|
|
164
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg>
|
|
165
|
+
|
|
166
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"/></svg>
|
|
167
|
+
</label>
|
|
168
|
+
<nav class="md-search__options" aria-label="Search">
|
|
169
|
+
|
|
170
|
+
<button type="reset" class="md-search__icon md-icon" title="Clear" aria-label="Clear" tabindex="-1">
|
|
171
|
+
|
|
172
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/></svg>
|
|
173
|
+
</button>
|
|
174
|
+
</nav>
|
|
175
|
+
|
|
176
|
+
<div class="md-search__suggest" data-md-component="search-suggest"></div>
|
|
177
|
+
|
|
178
|
+
</form>
|
|
179
|
+
<div class="md-search__output">
|
|
180
|
+
<div class="md-search__scrollwrap" tabindex="0" data-md-scrollfix>
|
|
181
|
+
<div class="md-search-result" data-md-component="search-result">
|
|
182
|
+
<div class="md-search-result__meta">
|
|
183
|
+
Initializing search
|
|
184
|
+
</div>
|
|
185
|
+
<ol class="md-search-result__list" role="presentation"></ol>
|
|
186
|
+
</div>
|
|
187
|
+
</div>
|
|
188
|
+
</div>
|
|
189
|
+
</div>
|
|
190
|
+
</div>
|
|
191
|
+
|
|
192
|
+
|
|
193
|
+
|
|
194
|
+
<div class="md-header__source">
|
|
195
|
+
<a href="https://github.com/idorsia/caddforge-docs" title="Go to repository" class="md-source" data-md-component="source">
|
|
196
|
+
<div class="md-source__icon md-icon">
|
|
197
|
+
|
|
198
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M439.6 236.1 244 40.5c-5.4-5.5-12.8-8.5-20.4-8.5s-15 3-20.4 8.4L162.5 81l51.5 51.5c27.1-9.1 52.7 16.8 43.4 43.7l49.7 49.7c34.2-11.8 61.2 31 35.5 56.7-26.5 26.5-70.2-2.9-56-37.3L240.3 199v121.9c25.3 12.5 22.3 41.8 9.1 55-6.4 6.4-15.2 10.1-24.3 10.1s-17.8-3.6-24.3-10.1c-17.6-17.6-11.1-46.9 11.2-56v-123c-20.8-8.5-24.6-30.7-18.6-45L142.6 101 8.5 235.1C3 240.6 0 247.9 0 255.5s3 15 8.5 20.4l195.6 195.7c5.4 5.4 12.7 8.4 20.4 8.4s15-3 20.4-8.4l194.7-194.7c5.4-5.4 8.4-12.8 8.4-20.4s-3-15-8.4-20.4"/></svg>
|
|
199
|
+
</div>
|
|
200
|
+
<div class="md-source__repository">
|
|
201
|
+
caddforge-docs
|
|
202
|
+
</div>
|
|
203
|
+
</a>
|
|
204
|
+
</div>
|
|
205
|
+
|
|
206
|
+
</nav>
|
|
207
|
+
|
|
208
|
+
</header>
|
|
209
|
+
|
|
210
|
+
<div class="md-container" data-md-component="container">
|
|
211
|
+
|
|
212
|
+
|
|
213
|
+
|
|
214
|
+
|
|
215
|
+
|
|
216
|
+
|
|
217
|
+
<main class="md-main" data-md-component="main">
|
|
218
|
+
<div class="md-main__inner md-grid">
|
|
219
|
+
|
|
220
|
+
|
|
221
|
+
|
|
222
|
+
<div class="md-sidebar md-sidebar--primary" data-md-component="sidebar" data-md-type="navigation" >
|
|
223
|
+
<div class="md-sidebar__scrollwrap">
|
|
224
|
+
<div class="md-sidebar__inner">
|
|
225
|
+
|
|
226
|
+
|
|
227
|
+
|
|
228
|
+
|
|
229
|
+
<nav class="md-nav md-nav--primary" aria-label="Navigation" data-md-level="0">
|
|
230
|
+
<label class="md-nav__title" for="__drawer">
|
|
231
|
+
<a href="../.." title="CADDForge" class="md-nav__button md-logo" aria-label="CADDForge" data-md-component="logo">
|
|
232
|
+
|
|
233
|
+
|
|
234
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg>
|
|
235
|
+
|
|
236
|
+
</a>
|
|
237
|
+
CADDForge
|
|
238
|
+
</label>
|
|
239
|
+
|
|
240
|
+
<div class="md-nav__source">
|
|
241
|
+
<a href="https://github.com/idorsia/caddforge-docs" title="Go to repository" class="md-source" data-md-component="source">
|
|
242
|
+
<div class="md-source__icon md-icon">
|
|
243
|
+
|
|
244
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M439.6 236.1 244 40.5c-5.4-5.5-12.8-8.5-20.4-8.5s-15 3-20.4 8.4L162.5 81l51.5 51.5c27.1-9.1 52.7 16.8 43.4 43.7l49.7 49.7c34.2-11.8 61.2 31 35.5 56.7-26.5 26.5-70.2-2.9-56-37.3L240.3 199v121.9c25.3 12.5 22.3 41.8 9.1 55-6.4 6.4-15.2 10.1-24.3 10.1s-17.8-3.6-24.3-10.1c-17.6-17.6-11.1-46.9 11.2-56v-123c-20.8-8.5-24.6-30.7-18.6-45L142.6 101 8.5 235.1C3 240.6 0 247.9 0 255.5s3 15 8.5 20.4l195.6 195.7c5.4 5.4 12.7 8.4 20.4 8.4s15-3 20.4-8.4l194.7-194.7c5.4-5.4 8.4-12.8 8.4-20.4s-3-15-8.4-20.4"/></svg>
|
|
245
|
+
</div>
|
|
246
|
+
<div class="md-source__repository">
|
|
247
|
+
caddforge-docs
|
|
248
|
+
</div>
|
|
249
|
+
</a>
|
|
250
|
+
</div>
|
|
251
|
+
|
|
252
|
+
<ul class="md-nav__list" data-md-scrollfix>
|
|
253
|
+
|
|
254
|
+
|
|
255
|
+
|
|
256
|
+
|
|
257
|
+
|
|
258
|
+
|
|
259
|
+
|
|
260
|
+
<li class="md-nav__item">
|
|
261
|
+
<a href="../.." class="md-nav__link">
|
|
262
|
+
|
|
263
|
+
|
|
264
|
+
|
|
265
|
+
<span class="md-ellipsis">
|
|
266
|
+
|
|
267
|
+
|
|
268
|
+
Home
|
|
269
|
+
|
|
270
|
+
|
|
271
|
+
|
|
272
|
+
</span>
|
|
273
|
+
|
|
274
|
+
|
|
275
|
+
|
|
276
|
+
</a>
|
|
277
|
+
</li>
|
|
278
|
+
|
|
279
|
+
|
|
280
|
+
|
|
281
|
+
|
|
282
|
+
|
|
283
|
+
|
|
284
|
+
|
|
285
|
+
|
|
286
|
+
|
|
287
|
+
|
|
288
|
+
|
|
289
|
+
|
|
290
|
+
|
|
291
|
+
|
|
292
|
+
|
|
293
|
+
|
|
294
|
+
|
|
295
|
+
|
|
296
|
+
|
|
297
|
+
|
|
298
|
+
|
|
299
|
+
|
|
300
|
+
|
|
301
|
+
|
|
302
|
+
|
|
303
|
+
|
|
304
|
+
|
|
305
|
+
<li class="md-nav__item md-nav__item--section md-nav__item--nested">
|
|
306
|
+
|
|
307
|
+
|
|
308
|
+
|
|
309
|
+
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2" >
|
|
310
|
+
|
|
311
|
+
|
|
312
|
+
<div class="md-nav__link md-nav__container">
|
|
313
|
+
<a href="../../getting-started/" class="md-nav__link ">
|
|
314
|
+
|
|
315
|
+
|
|
316
|
+
|
|
317
|
+
<span class="md-ellipsis">
|
|
318
|
+
|
|
319
|
+
|
|
320
|
+
Getting Started
|
|
321
|
+
|
|
322
|
+
|
|
323
|
+
|
|
324
|
+
</span>
|
|
325
|
+
|
|
326
|
+
|
|
327
|
+
|
|
328
|
+
</a>
|
|
329
|
+
|
|
330
|
+
|
|
331
|
+
<label class="md-nav__link " for="__nav_2" id="__nav_2_label" tabindex="">
|
|
332
|
+
<span class="md-nav__icon md-icon"></span>
|
|
333
|
+
</label>
|
|
334
|
+
|
|
335
|
+
</div>
|
|
336
|
+
|
|
337
|
+
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_2_label" aria-expanded="false">
|
|
338
|
+
<label class="md-nav__title" for="__nav_2">
|
|
339
|
+
<span class="md-nav__icon md-icon"></span>
|
|
340
|
+
|
|
341
|
+
|
|
342
|
+
Getting Started
|
|
343
|
+
|
|
344
|
+
|
|
345
|
+
</label>
|
|
346
|
+
<ul class="md-nav__list" data-md-scrollfix>
|
|
347
|
+
|
|
348
|
+
|
|
349
|
+
|
|
350
|
+
|
|
351
|
+
|
|
352
|
+
|
|
353
|
+
|
|
354
|
+
<li class="md-nav__item">
|
|
355
|
+
<a href="../../getting-started/installation/" class="md-nav__link">
|
|
356
|
+
|
|
357
|
+
|
|
358
|
+
|
|
359
|
+
<span class="md-ellipsis">
|
|
360
|
+
|
|
361
|
+
|
|
362
|
+
Installation
|
|
363
|
+
|
|
364
|
+
|
|
365
|
+
|
|
366
|
+
</span>
|
|
367
|
+
|
|
368
|
+
|
|
369
|
+
|
|
370
|
+
</a>
|
|
371
|
+
</li>
|
|
372
|
+
|
|
373
|
+
|
|
374
|
+
|
|
375
|
+
|
|
376
|
+
|
|
377
|
+
|
|
378
|
+
|
|
379
|
+
|
|
380
|
+
|
|
381
|
+
|
|
382
|
+
<li class="md-nav__item">
|
|
383
|
+
<a href="../../getting-started/first-workflow/" class="md-nav__link">
|
|
384
|
+
|
|
385
|
+
|
|
386
|
+
|
|
387
|
+
<span class="md-ellipsis">
|
|
388
|
+
|
|
389
|
+
|
|
390
|
+
First Workflow
|
|
391
|
+
|
|
392
|
+
|
|
393
|
+
|
|
394
|
+
</span>
|
|
395
|
+
|
|
396
|
+
|
|
397
|
+
|
|
398
|
+
</a>
|
|
399
|
+
</li>
|
|
400
|
+
|
|
401
|
+
|
|
402
|
+
|
|
403
|
+
|
|
404
|
+
|
|
405
|
+
|
|
406
|
+
|
|
407
|
+
|
|
408
|
+
|
|
409
|
+
|
|
410
|
+
<li class="md-nav__item">
|
|
411
|
+
<a href="../../getting-started/first-pipeline/" class="md-nav__link">
|
|
412
|
+
|
|
413
|
+
|
|
414
|
+
|
|
415
|
+
<span class="md-ellipsis">
|
|
416
|
+
|
|
417
|
+
|
|
418
|
+
First Pipeline
|
|
419
|
+
|
|
420
|
+
|
|
421
|
+
|
|
422
|
+
</span>
|
|
423
|
+
|
|
424
|
+
|
|
425
|
+
|
|
426
|
+
</a>
|
|
427
|
+
</li>
|
|
428
|
+
|
|
429
|
+
|
|
430
|
+
|
|
431
|
+
|
|
432
|
+
</ul>
|
|
433
|
+
</nav>
|
|
434
|
+
|
|
435
|
+
</li>
|
|
436
|
+
|
|
437
|
+
|
|
438
|
+
|
|
439
|
+
|
|
440
|
+
|
|
441
|
+
|
|
442
|
+
|
|
443
|
+
|
|
444
|
+
|
|
445
|
+
|
|
446
|
+
|
|
447
|
+
|
|
448
|
+
|
|
449
|
+
|
|
450
|
+
|
|
451
|
+
|
|
452
|
+
|
|
453
|
+
|
|
454
|
+
|
|
455
|
+
|
|
456
|
+
|
|
457
|
+
|
|
458
|
+
|
|
459
|
+
|
|
460
|
+
|
|
461
|
+
|
|
462
|
+
|
|
463
|
+
<li class="md-nav__item md-nav__item--section md-nav__item--nested">
|
|
464
|
+
|
|
465
|
+
|
|
466
|
+
|
|
467
|
+
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3" >
|
|
468
|
+
|
|
469
|
+
|
|
470
|
+
<label class="md-nav__link" for="__nav_3" id="__nav_3_label" tabindex="">
|
|
471
|
+
|
|
472
|
+
|
|
473
|
+
|
|
474
|
+
<span class="md-ellipsis">
|
|
475
|
+
|
|
476
|
+
|
|
477
|
+
How-to Guides
|
|
478
|
+
|
|
479
|
+
|
|
480
|
+
|
|
481
|
+
</span>
|
|
482
|
+
|
|
483
|
+
|
|
484
|
+
|
|
485
|
+
<span class="md-nav__icon md-icon"></span>
|
|
486
|
+
</label>
|
|
487
|
+
|
|
488
|
+
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_3_label" aria-expanded="false">
|
|
489
|
+
<label class="md-nav__title" for="__nav_3">
|
|
490
|
+
<span class="md-nav__icon md-icon"></span>
|
|
491
|
+
|
|
492
|
+
|
|
493
|
+
How-to Guides
|
|
494
|
+
|
|
495
|
+
|
|
496
|
+
</label>
|
|
497
|
+
<ul class="md-nav__list" data-md-scrollfix>
|
|
498
|
+
|
|
499
|
+
|
|
500
|
+
|
|
501
|
+
|
|
502
|
+
|
|
503
|
+
|
|
504
|
+
|
|
505
|
+
<li class="md-nav__item">
|
|
506
|
+
<a href="../../how-to/jobs/" class="md-nav__link">
|
|
507
|
+
|
|
508
|
+
|
|
509
|
+
|
|
510
|
+
<span class="md-ellipsis">
|
|
511
|
+
|
|
512
|
+
|
|
513
|
+
Jobs and Results
|
|
514
|
+
|
|
515
|
+
|
|
516
|
+
|
|
517
|
+
</span>
|
|
518
|
+
|
|
519
|
+
|
|
520
|
+
|
|
521
|
+
</a>
|
|
522
|
+
</li>
|
|
523
|
+
|
|
524
|
+
|
|
525
|
+
|
|
526
|
+
|
|
527
|
+
|
|
528
|
+
|
|
529
|
+
|
|
530
|
+
|
|
531
|
+
|
|
532
|
+
|
|
533
|
+
<li class="md-nav__item">
|
|
534
|
+
<a href="../../how-to/scatter/" class="md-nav__link">
|
|
535
|
+
|
|
536
|
+
|
|
537
|
+
|
|
538
|
+
<span class="md-ellipsis">
|
|
539
|
+
|
|
540
|
+
|
|
541
|
+
Scatter and Reduce
|
|
542
|
+
|
|
543
|
+
|
|
544
|
+
|
|
545
|
+
</span>
|
|
546
|
+
|
|
547
|
+
|
|
548
|
+
|
|
549
|
+
</a>
|
|
550
|
+
</li>
|
|
551
|
+
|
|
552
|
+
|
|
553
|
+
|
|
554
|
+
|
|
555
|
+
|
|
556
|
+
|
|
557
|
+
|
|
558
|
+
|
|
559
|
+
|
|
560
|
+
|
|
561
|
+
<li class="md-nav__item">
|
|
562
|
+
<a href="../../how-to/troubleshooting/" class="md-nav__link">
|
|
563
|
+
|
|
564
|
+
|
|
565
|
+
|
|
566
|
+
<span class="md-ellipsis">
|
|
567
|
+
|
|
568
|
+
|
|
569
|
+
Troubleshooting
|
|
570
|
+
|
|
571
|
+
|
|
572
|
+
|
|
573
|
+
</span>
|
|
574
|
+
|
|
575
|
+
|
|
576
|
+
|
|
577
|
+
</a>
|
|
578
|
+
</li>
|
|
579
|
+
|
|
580
|
+
|
|
581
|
+
|
|
582
|
+
|
|
583
|
+
</ul>
|
|
584
|
+
</nav>
|
|
585
|
+
|
|
586
|
+
</li>
|
|
587
|
+
|
|
588
|
+
|
|
589
|
+
|
|
590
|
+
|
|
591
|
+
|
|
592
|
+
|
|
593
|
+
|
|
594
|
+
|
|
595
|
+
|
|
596
|
+
|
|
597
|
+
|
|
598
|
+
|
|
599
|
+
|
|
600
|
+
|
|
601
|
+
|
|
602
|
+
|
|
603
|
+
|
|
604
|
+
|
|
605
|
+
|
|
606
|
+
|
|
607
|
+
|
|
608
|
+
|
|
609
|
+
|
|
610
|
+
|
|
611
|
+
|
|
612
|
+
|
|
613
|
+
|
|
614
|
+
|
|
615
|
+
|
|
616
|
+
|
|
617
|
+
|
|
618
|
+
|
|
619
|
+
|
|
620
|
+
<li class="md-nav__item md-nav__item--section md-nav__item--nested">
|
|
621
|
+
|
|
622
|
+
|
|
623
|
+
|
|
624
|
+
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4" >
|
|
625
|
+
|
|
626
|
+
|
|
627
|
+
<div class="md-nav__link md-nav__container">
|
|
628
|
+
<a href="../../core/" class="md-nav__link ">
|
|
629
|
+
|
|
630
|
+
|
|
631
|
+
|
|
632
|
+
<span class="md-ellipsis">
|
|
633
|
+
|
|
634
|
+
|
|
635
|
+
Core
|
|
636
|
+
|
|
637
|
+
|
|
638
|
+
|
|
639
|
+
</span>
|
|
640
|
+
|
|
641
|
+
|
|
642
|
+
|
|
643
|
+
</a>
|
|
644
|
+
|
|
645
|
+
|
|
646
|
+
<label class="md-nav__link " for="__nav_4" id="__nav_4_label" tabindex="">
|
|
647
|
+
<span class="md-nav__icon md-icon"></span>
|
|
648
|
+
</label>
|
|
649
|
+
|
|
650
|
+
</div>
|
|
651
|
+
|
|
652
|
+
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_4_label" aria-expanded="false">
|
|
653
|
+
<label class="md-nav__title" for="__nav_4">
|
|
654
|
+
<span class="md-nav__icon md-icon"></span>
|
|
655
|
+
|
|
656
|
+
|
|
657
|
+
Core
|
|
658
|
+
|
|
659
|
+
|
|
660
|
+
</label>
|
|
661
|
+
<ul class="md-nav__list" data-md-scrollfix>
|
|
662
|
+
|
|
663
|
+
|
|
664
|
+
|
|
665
|
+
|
|
666
|
+
|
|
667
|
+
|
|
668
|
+
|
|
669
|
+
<li class="md-nav__item">
|
|
670
|
+
<a href="../../core/concepts/" class="md-nav__link">
|
|
671
|
+
|
|
672
|
+
|
|
673
|
+
|
|
674
|
+
<span class="md-ellipsis">
|
|
675
|
+
|
|
676
|
+
|
|
677
|
+
Concepts
|
|
678
|
+
|
|
679
|
+
|
|
680
|
+
|
|
681
|
+
</span>
|
|
682
|
+
|
|
683
|
+
|
|
684
|
+
|
|
685
|
+
</a>
|
|
686
|
+
</li>
|
|
687
|
+
|
|
688
|
+
|
|
689
|
+
|
|
690
|
+
|
|
691
|
+
|
|
692
|
+
|
|
693
|
+
|
|
694
|
+
|
|
695
|
+
|
|
696
|
+
|
|
697
|
+
<li class="md-nav__item">
|
|
698
|
+
<a href="../../core/configuration/" class="md-nav__link">
|
|
699
|
+
|
|
700
|
+
|
|
701
|
+
|
|
702
|
+
<span class="md-ellipsis">
|
|
703
|
+
|
|
704
|
+
|
|
705
|
+
Configuration
|
|
706
|
+
|
|
707
|
+
|
|
708
|
+
|
|
709
|
+
</span>
|
|
710
|
+
|
|
711
|
+
|
|
712
|
+
|
|
713
|
+
</a>
|
|
714
|
+
</li>
|
|
715
|
+
|
|
716
|
+
|
|
717
|
+
|
|
718
|
+
|
|
719
|
+
|
|
720
|
+
|
|
721
|
+
|
|
722
|
+
|
|
723
|
+
|
|
724
|
+
|
|
725
|
+
<li class="md-nav__item">
|
|
726
|
+
<a href="../../core/cli/" class="md-nav__link">
|
|
727
|
+
|
|
728
|
+
|
|
729
|
+
|
|
730
|
+
<span class="md-ellipsis">
|
|
731
|
+
|
|
732
|
+
|
|
733
|
+
CLI
|
|
734
|
+
|
|
735
|
+
|
|
736
|
+
|
|
737
|
+
</span>
|
|
738
|
+
|
|
739
|
+
|
|
740
|
+
|
|
741
|
+
</a>
|
|
742
|
+
</li>
|
|
743
|
+
|
|
744
|
+
|
|
745
|
+
|
|
746
|
+
|
|
747
|
+
|
|
748
|
+
|
|
749
|
+
|
|
750
|
+
|
|
751
|
+
|
|
752
|
+
|
|
753
|
+
<li class="md-nav__item">
|
|
754
|
+
<a href="../../core/jobs-results/" class="md-nav__link">
|
|
755
|
+
|
|
756
|
+
|
|
757
|
+
|
|
758
|
+
<span class="md-ellipsis">
|
|
759
|
+
|
|
760
|
+
|
|
761
|
+
Jobs and Results
|
|
762
|
+
|
|
763
|
+
|
|
764
|
+
|
|
765
|
+
</span>
|
|
766
|
+
|
|
767
|
+
|
|
768
|
+
|
|
769
|
+
</a>
|
|
770
|
+
</li>
|
|
771
|
+
|
|
772
|
+
|
|
773
|
+
|
|
774
|
+
|
|
775
|
+
|
|
776
|
+
|
|
777
|
+
|
|
778
|
+
|
|
779
|
+
|
|
780
|
+
|
|
781
|
+
<li class="md-nav__item">
|
|
782
|
+
<a href="../../core/slurm/" class="md-nav__link">
|
|
783
|
+
|
|
784
|
+
|
|
785
|
+
|
|
786
|
+
<span class="md-ellipsis">
|
|
787
|
+
|
|
788
|
+
|
|
789
|
+
Slurm Backend
|
|
790
|
+
|
|
791
|
+
|
|
792
|
+
|
|
793
|
+
</span>
|
|
794
|
+
|
|
795
|
+
|
|
796
|
+
|
|
797
|
+
</a>
|
|
798
|
+
</li>
|
|
799
|
+
|
|
800
|
+
|
|
801
|
+
|
|
802
|
+
|
|
803
|
+
|
|
804
|
+
|
|
805
|
+
|
|
806
|
+
|
|
807
|
+
|
|
808
|
+
|
|
809
|
+
<li class="md-nav__item">
|
|
810
|
+
<a href="../../core/plugins/" class="md-nav__link">
|
|
811
|
+
|
|
812
|
+
|
|
813
|
+
|
|
814
|
+
<span class="md-ellipsis">
|
|
815
|
+
|
|
816
|
+
|
|
817
|
+
Plugins
|
|
818
|
+
|
|
819
|
+
|
|
820
|
+
|
|
821
|
+
</span>
|
|
822
|
+
|
|
823
|
+
|
|
824
|
+
|
|
825
|
+
</a>
|
|
826
|
+
</li>
|
|
827
|
+
|
|
828
|
+
|
|
829
|
+
|
|
830
|
+
|
|
831
|
+
</ul>
|
|
832
|
+
</nav>
|
|
833
|
+
|
|
834
|
+
</li>
|
|
835
|
+
|
|
836
|
+
|
|
837
|
+
|
|
838
|
+
|
|
839
|
+
|
|
840
|
+
|
|
841
|
+
|
|
842
|
+
|
|
843
|
+
|
|
844
|
+
|
|
845
|
+
|
|
846
|
+
|
|
847
|
+
|
|
848
|
+
|
|
849
|
+
|
|
850
|
+
|
|
851
|
+
|
|
852
|
+
|
|
853
|
+
|
|
854
|
+
|
|
855
|
+
|
|
856
|
+
|
|
857
|
+
|
|
858
|
+
|
|
859
|
+
|
|
860
|
+
|
|
861
|
+
|
|
862
|
+
|
|
863
|
+
|
|
864
|
+
<li class="md-nav__item md-nav__item--section md-nav__item--nested">
|
|
865
|
+
|
|
866
|
+
|
|
867
|
+
|
|
868
|
+
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5" >
|
|
869
|
+
|
|
870
|
+
|
|
871
|
+
<div class="md-nav__link md-nav__container">
|
|
872
|
+
<a href="../../pipelines/" class="md-nav__link ">
|
|
873
|
+
|
|
874
|
+
|
|
875
|
+
|
|
876
|
+
<span class="md-ellipsis">
|
|
877
|
+
|
|
878
|
+
|
|
879
|
+
Pipelines
|
|
880
|
+
|
|
881
|
+
|
|
882
|
+
|
|
883
|
+
</span>
|
|
884
|
+
|
|
885
|
+
|
|
886
|
+
|
|
887
|
+
</a>
|
|
888
|
+
|
|
889
|
+
|
|
890
|
+
<label class="md-nav__link " for="__nav_5" id="__nav_5_label" tabindex="">
|
|
891
|
+
<span class="md-nav__icon md-icon"></span>
|
|
892
|
+
</label>
|
|
893
|
+
|
|
894
|
+
</div>
|
|
895
|
+
|
|
896
|
+
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_5_label" aria-expanded="false">
|
|
897
|
+
<label class="md-nav__title" for="__nav_5">
|
|
898
|
+
<span class="md-nav__icon md-icon"></span>
|
|
899
|
+
|
|
900
|
+
|
|
901
|
+
Pipelines
|
|
902
|
+
|
|
903
|
+
|
|
904
|
+
</label>
|
|
905
|
+
<ul class="md-nav__list" data-md-scrollfix>
|
|
906
|
+
|
|
907
|
+
|
|
908
|
+
|
|
909
|
+
|
|
910
|
+
|
|
911
|
+
|
|
912
|
+
|
|
913
|
+
<li class="md-nav__item">
|
|
914
|
+
<a href="../../pipelines/specification/" class="md-nav__link">
|
|
915
|
+
|
|
916
|
+
|
|
917
|
+
|
|
918
|
+
<span class="md-ellipsis">
|
|
919
|
+
|
|
920
|
+
|
|
921
|
+
Specification
|
|
922
|
+
|
|
923
|
+
|
|
924
|
+
|
|
925
|
+
</span>
|
|
926
|
+
|
|
927
|
+
|
|
928
|
+
|
|
929
|
+
</a>
|
|
930
|
+
</li>
|
|
931
|
+
|
|
932
|
+
|
|
933
|
+
|
|
934
|
+
|
|
935
|
+
|
|
936
|
+
|
|
937
|
+
|
|
938
|
+
|
|
939
|
+
|
|
940
|
+
|
|
941
|
+
<li class="md-nav__item">
|
|
942
|
+
<a href="../../pipelines/artifacts/" class="md-nav__link">
|
|
943
|
+
|
|
944
|
+
|
|
945
|
+
|
|
946
|
+
<span class="md-ellipsis">
|
|
947
|
+
|
|
948
|
+
|
|
949
|
+
Artifacts
|
|
950
|
+
|
|
951
|
+
|
|
952
|
+
|
|
953
|
+
</span>
|
|
954
|
+
|
|
955
|
+
|
|
956
|
+
|
|
957
|
+
</a>
|
|
958
|
+
</li>
|
|
959
|
+
|
|
960
|
+
|
|
961
|
+
|
|
962
|
+
|
|
963
|
+
|
|
964
|
+
|
|
965
|
+
|
|
966
|
+
|
|
967
|
+
|
|
968
|
+
|
|
969
|
+
<li class="md-nav__item">
|
|
970
|
+
<a href="../../pipelines/built-ins/" class="md-nav__link">
|
|
971
|
+
|
|
972
|
+
|
|
973
|
+
|
|
974
|
+
<span class="md-ellipsis">
|
|
975
|
+
|
|
976
|
+
|
|
977
|
+
Built-in Stages
|
|
978
|
+
|
|
979
|
+
|
|
980
|
+
|
|
981
|
+
</span>
|
|
982
|
+
|
|
983
|
+
|
|
984
|
+
|
|
985
|
+
</a>
|
|
986
|
+
</li>
|
|
987
|
+
|
|
988
|
+
|
|
989
|
+
|
|
990
|
+
|
|
991
|
+
|
|
992
|
+
|
|
993
|
+
|
|
994
|
+
|
|
995
|
+
|
|
996
|
+
|
|
997
|
+
<li class="md-nav__item">
|
|
998
|
+
<a href="../../pipelines/examples/" class="md-nav__link">
|
|
999
|
+
|
|
1000
|
+
|
|
1001
|
+
|
|
1002
|
+
<span class="md-ellipsis">
|
|
1003
|
+
|
|
1004
|
+
|
|
1005
|
+
Examples
|
|
1006
|
+
|
|
1007
|
+
|
|
1008
|
+
|
|
1009
|
+
</span>
|
|
1010
|
+
|
|
1011
|
+
|
|
1012
|
+
|
|
1013
|
+
</a>
|
|
1014
|
+
</li>
|
|
1015
|
+
|
|
1016
|
+
|
|
1017
|
+
|
|
1018
|
+
|
|
1019
|
+
</ul>
|
|
1020
|
+
</nav>
|
|
1021
|
+
|
|
1022
|
+
</li>
|
|
1023
|
+
|
|
1024
|
+
|
|
1025
|
+
|
|
1026
|
+
|
|
1027
|
+
|
|
1028
|
+
|
|
1029
|
+
|
|
1030
|
+
|
|
1031
|
+
|
|
1032
|
+
|
|
1033
|
+
|
|
1034
|
+
|
|
1035
|
+
|
|
1036
|
+
|
|
1037
|
+
|
|
1038
|
+
|
|
1039
|
+
|
|
1040
|
+
|
|
1041
|
+
|
|
1042
|
+
|
|
1043
|
+
|
|
1044
|
+
|
|
1045
|
+
|
|
1046
|
+
|
|
1047
|
+
|
|
1048
|
+
|
|
1049
|
+
|
|
1050
|
+
|
|
1051
|
+
|
|
1052
|
+
|
|
1053
|
+
|
|
1054
|
+
|
|
1055
|
+
|
|
1056
|
+
|
|
1057
|
+
|
|
1058
|
+
|
|
1059
|
+
|
|
1060
|
+
|
|
1061
|
+
|
|
1062
|
+
<li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested">
|
|
1063
|
+
|
|
1064
|
+
|
|
1065
|
+
|
|
1066
|
+
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6" checked>
|
|
1067
|
+
|
|
1068
|
+
|
|
1069
|
+
<div class="md-nav__link md-nav__container">
|
|
1070
|
+
<a href="../" class="md-nav__link ">
|
|
1071
|
+
|
|
1072
|
+
|
|
1073
|
+
|
|
1074
|
+
<span class="md-ellipsis">
|
|
1075
|
+
|
|
1076
|
+
|
|
1077
|
+
Plugins
|
|
1078
|
+
|
|
1079
|
+
|
|
1080
|
+
|
|
1081
|
+
</span>
|
|
1082
|
+
|
|
1083
|
+
|
|
1084
|
+
|
|
1085
|
+
</a>
|
|
1086
|
+
|
|
1087
|
+
|
|
1088
|
+
<label class="md-nav__link " for="__nav_6" id="__nav_6_label" tabindex="">
|
|
1089
|
+
<span class="md-nav__icon md-icon"></span>
|
|
1090
|
+
</label>
|
|
1091
|
+
|
|
1092
|
+
</div>
|
|
1093
|
+
|
|
1094
|
+
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_6_label" aria-expanded="true">
|
|
1095
|
+
<label class="md-nav__title" for="__nav_6">
|
|
1096
|
+
<span class="md-nav__icon md-icon"></span>
|
|
1097
|
+
|
|
1098
|
+
|
|
1099
|
+
Plugins
|
|
1100
|
+
|
|
1101
|
+
|
|
1102
|
+
</label>
|
|
1103
|
+
<ul class="md-nav__list" data-md-scrollfix>
|
|
1104
|
+
|
|
1105
|
+
|
|
1106
|
+
|
|
1107
|
+
|
|
1108
|
+
|
|
1109
|
+
|
|
1110
|
+
|
|
1111
|
+
<li class="md-nav__item">
|
|
1112
|
+
<a href="../version-matrix/" class="md-nav__link">
|
|
1113
|
+
|
|
1114
|
+
|
|
1115
|
+
|
|
1116
|
+
<span class="md-ellipsis">
|
|
1117
|
+
|
|
1118
|
+
|
|
1119
|
+
Version Matrix
|
|
1120
|
+
|
|
1121
|
+
|
|
1122
|
+
|
|
1123
|
+
</span>
|
|
1124
|
+
|
|
1125
|
+
|
|
1126
|
+
|
|
1127
|
+
</a>
|
|
1128
|
+
</li>
|
|
1129
|
+
|
|
1130
|
+
|
|
1131
|
+
|
|
1132
|
+
|
|
1133
|
+
|
|
1134
|
+
|
|
1135
|
+
|
|
1136
|
+
|
|
1137
|
+
|
|
1138
|
+
|
|
1139
|
+
<li class="md-nav__item">
|
|
1140
|
+
<a href="../docking/" class="md-nav__link">
|
|
1141
|
+
|
|
1142
|
+
|
|
1143
|
+
|
|
1144
|
+
<span class="md-ellipsis">
|
|
1145
|
+
|
|
1146
|
+
|
|
1147
|
+
Docking
|
|
1148
|
+
|
|
1149
|
+
|
|
1150
|
+
|
|
1151
|
+
</span>
|
|
1152
|
+
|
|
1153
|
+
|
|
1154
|
+
|
|
1155
|
+
</a>
|
|
1156
|
+
</li>
|
|
1157
|
+
|
|
1158
|
+
|
|
1159
|
+
|
|
1160
|
+
|
|
1161
|
+
|
|
1162
|
+
|
|
1163
|
+
|
|
1164
|
+
|
|
1165
|
+
|
|
1166
|
+
|
|
1167
|
+
<li class="md-nav__item">
|
|
1168
|
+
<a href="../descriptors/" class="md-nav__link">
|
|
1169
|
+
|
|
1170
|
+
|
|
1171
|
+
|
|
1172
|
+
<span class="md-ellipsis">
|
|
1173
|
+
|
|
1174
|
+
|
|
1175
|
+
Descriptors
|
|
1176
|
+
|
|
1177
|
+
|
|
1178
|
+
|
|
1179
|
+
</span>
|
|
1180
|
+
|
|
1181
|
+
|
|
1182
|
+
|
|
1183
|
+
</a>
|
|
1184
|
+
</li>
|
|
1185
|
+
|
|
1186
|
+
|
|
1187
|
+
|
|
1188
|
+
|
|
1189
|
+
|
|
1190
|
+
|
|
1191
|
+
|
|
1192
|
+
|
|
1193
|
+
|
|
1194
|
+
|
|
1195
|
+
|
|
1196
|
+
|
|
1197
|
+
<li class="md-nav__item md-nav__item--active">
|
|
1198
|
+
|
|
1199
|
+
<input class="md-nav__toggle md-toggle" type="checkbox" id="__toc">
|
|
1200
|
+
|
|
1201
|
+
|
|
1202
|
+
|
|
1203
|
+
|
|
1204
|
+
|
|
1205
|
+
<label class="md-nav__link md-nav__link--active" for="__toc">
|
|
1206
|
+
|
|
1207
|
+
|
|
1208
|
+
|
|
1209
|
+
<span class="md-ellipsis">
|
|
1210
|
+
|
|
1211
|
+
|
|
1212
|
+
MD
|
|
1213
|
+
|
|
1214
|
+
|
|
1215
|
+
|
|
1216
|
+
</span>
|
|
1217
|
+
|
|
1218
|
+
|
|
1219
|
+
|
|
1220
|
+
<span class="md-nav__icon md-icon"></span>
|
|
1221
|
+
</label>
|
|
1222
|
+
|
|
1223
|
+
<a href="./" class="md-nav__link md-nav__link--active">
|
|
1224
|
+
|
|
1225
|
+
|
|
1226
|
+
|
|
1227
|
+
<span class="md-ellipsis">
|
|
1228
|
+
|
|
1229
|
+
|
|
1230
|
+
MD
|
|
1231
|
+
|
|
1232
|
+
|
|
1233
|
+
|
|
1234
|
+
</span>
|
|
1235
|
+
|
|
1236
|
+
|
|
1237
|
+
|
|
1238
|
+
</a>
|
|
1239
|
+
|
|
1240
|
+
|
|
1241
|
+
|
|
1242
|
+
<nav class="md-nav md-nav--secondary" aria-label="Table of contents">
|
|
1243
|
+
|
|
1244
|
+
|
|
1245
|
+
|
|
1246
|
+
|
|
1247
|
+
|
|
1248
|
+
|
|
1249
|
+
<label class="md-nav__title" for="__toc">
|
|
1250
|
+
<span class="md-nav__icon md-icon"></span>
|
|
1251
|
+
Table of contents
|
|
1252
|
+
</label>
|
|
1253
|
+
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
|
|
1254
|
+
|
|
1255
|
+
<li class="md-nav__item">
|
|
1256
|
+
<a href="#requirements-and-example-status" class="md-nav__link">
|
|
1257
|
+
<span class="md-ellipsis">
|
|
1258
|
+
|
|
1259
|
+
Requirements and example status
|
|
1260
|
+
|
|
1261
|
+
</span>
|
|
1262
|
+
</a>
|
|
1263
|
+
|
|
1264
|
+
</li>
|
|
1265
|
+
|
|
1266
|
+
<li class="md-nav__item">
|
|
1267
|
+
<a href="#fix-structure" class="md-nav__link">
|
|
1268
|
+
<span class="md-ellipsis">
|
|
1269
|
+
|
|
1270
|
+
fix-structure
|
|
1271
|
+
|
|
1272
|
+
</span>
|
|
1273
|
+
</a>
|
|
1274
|
+
|
|
1275
|
+
<nav class="md-nav" aria-label="fix-structure">
|
|
1276
|
+
<ul class="md-nav__list">
|
|
1277
|
+
|
|
1278
|
+
<li class="md-nav__item">
|
|
1279
|
+
<a href="#terminal-chemistry" class="md-nav__link">
|
|
1280
|
+
<span class="md-ellipsis">
|
|
1281
|
+
|
|
1282
|
+
Terminal chemistry
|
|
1283
|
+
|
|
1284
|
+
</span>
|
|
1285
|
+
</a>
|
|
1286
|
+
|
|
1287
|
+
</li>
|
|
1288
|
+
|
|
1289
|
+
<li class="md-nav__item">
|
|
1290
|
+
<a href="#pipeline-example" class="md-nav__link">
|
|
1291
|
+
<span class="md-ellipsis">
|
|
1292
|
+
|
|
1293
|
+
Pipeline example
|
|
1294
|
+
|
|
1295
|
+
</span>
|
|
1296
|
+
</a>
|
|
1297
|
+
|
|
1298
|
+
</li>
|
|
1299
|
+
|
|
1300
|
+
</ul>
|
|
1301
|
+
</nav>
|
|
1302
|
+
|
|
1303
|
+
</li>
|
|
1304
|
+
|
|
1305
|
+
<li class="md-nav__item">
|
|
1306
|
+
<a href="#center-and-align" class="md-nav__link">
|
|
1307
|
+
<span class="md-ellipsis">
|
|
1308
|
+
|
|
1309
|
+
center-and-align
|
|
1310
|
+
|
|
1311
|
+
</span>
|
|
1312
|
+
</a>
|
|
1313
|
+
|
|
1314
|
+
</li>
|
|
1315
|
+
|
|
1316
|
+
<li class="md-nav__item">
|
|
1317
|
+
<a href="#extract-frames" class="md-nav__link">
|
|
1318
|
+
<span class="md-ellipsis">
|
|
1319
|
+
|
|
1320
|
+
extract-frames
|
|
1321
|
+
|
|
1322
|
+
</span>
|
|
1323
|
+
</a>
|
|
1324
|
+
|
|
1325
|
+
</li>
|
|
1326
|
+
|
|
1327
|
+
<li class="md-nav__item">
|
|
1328
|
+
<a href="#cluster-representative" class="md-nav__link">
|
|
1329
|
+
<span class="md-ellipsis">
|
|
1330
|
+
|
|
1331
|
+
cluster-representative
|
|
1332
|
+
|
|
1333
|
+
</span>
|
|
1334
|
+
</a>
|
|
1335
|
+
|
|
1336
|
+
</li>
|
|
1337
|
+
|
|
1338
|
+
<li class="md-nav__item">
|
|
1339
|
+
<a href="#plain-md" class="md-nav__link">
|
|
1340
|
+
<span class="md-ellipsis">
|
|
1341
|
+
|
|
1342
|
+
plain-md
|
|
1343
|
+
|
|
1344
|
+
</span>
|
|
1345
|
+
</a>
|
|
1346
|
+
|
|
1347
|
+
</li>
|
|
1348
|
+
|
|
1349
|
+
<li class="md-nav__item">
|
|
1350
|
+
<a href="#minimize" class="md-nav__link">
|
|
1351
|
+
<span class="md-ellipsis">
|
|
1352
|
+
|
|
1353
|
+
minimize
|
|
1354
|
+
|
|
1355
|
+
</span>
|
|
1356
|
+
</a>
|
|
1357
|
+
|
|
1358
|
+
<nav class="md-nav" aria-label="minimize">
|
|
1359
|
+
<ul class="md-nav__list">
|
|
1360
|
+
|
|
1361
|
+
<li class="md-nav__item">
|
|
1362
|
+
<a href="#minimize-installation-and-execution" class="md-nav__link">
|
|
1363
|
+
<span class="md-ellipsis">
|
|
1364
|
+
|
|
1365
|
+
Minimize installation and execution
|
|
1366
|
+
|
|
1367
|
+
</span>
|
|
1368
|
+
</a>
|
|
1369
|
+
|
|
1370
|
+
</li>
|
|
1371
|
+
|
|
1372
|
+
<li class="md-nav__item">
|
|
1373
|
+
<a href="#minimize-inputs-and-physical-model" class="md-nav__link">
|
|
1374
|
+
<span class="md-ellipsis">
|
|
1375
|
+
|
|
1376
|
+
Minimize inputs and physical model
|
|
1377
|
+
|
|
1378
|
+
</span>
|
|
1379
|
+
</a>
|
|
1380
|
+
|
|
1381
|
+
</li>
|
|
1382
|
+
|
|
1383
|
+
<li class="md-nav__item">
|
|
1384
|
+
<a href="#minimize-regions-and-modes" class="md-nav__link">
|
|
1385
|
+
<span class="md-ellipsis">
|
|
1386
|
+
|
|
1387
|
+
Minimize regions and modes
|
|
1388
|
+
|
|
1389
|
+
</span>
|
|
1390
|
+
</a>
|
|
1391
|
+
|
|
1392
|
+
</li>
|
|
1393
|
+
|
|
1394
|
+
<li class="md-nav__item">
|
|
1395
|
+
<a href="#minimize-convergence-diagnostics-and-quality" class="md-nav__link">
|
|
1396
|
+
<span class="md-ellipsis">
|
|
1397
|
+
|
|
1398
|
+
Minimize convergence, diagnostics, and quality
|
|
1399
|
+
|
|
1400
|
+
</span>
|
|
1401
|
+
</a>
|
|
1402
|
+
|
|
1403
|
+
</li>
|
|
1404
|
+
|
|
1405
|
+
<li class="md-nav__item">
|
|
1406
|
+
<a href="#minimize-artifacts-and-pipelines" class="md-nav__link">
|
|
1407
|
+
<span class="md-ellipsis">
|
|
1408
|
+
|
|
1409
|
+
Minimize artifacts and pipelines
|
|
1410
|
+
|
|
1411
|
+
</span>
|
|
1412
|
+
</a>
|
|
1413
|
+
|
|
1414
|
+
</li>
|
|
1415
|
+
|
|
1416
|
+
</ul>
|
|
1417
|
+
</nav>
|
|
1418
|
+
|
|
1419
|
+
</li>
|
|
1420
|
+
|
|
1421
|
+
<li class="md-nav__item">
|
|
1422
|
+
<a href="#openbpmd" class="md-nav__link">
|
|
1423
|
+
<span class="md-ellipsis">
|
|
1424
|
+
|
|
1425
|
+
openbpmd
|
|
1426
|
+
|
|
1427
|
+
</span>
|
|
1428
|
+
</a>
|
|
1429
|
+
|
|
1430
|
+
</li>
|
|
1431
|
+
|
|
1432
|
+
<li class="md-nav__item">
|
|
1433
|
+
<a href="#grand" class="md-nav__link">
|
|
1434
|
+
<span class="md-ellipsis">
|
|
1435
|
+
|
|
1436
|
+
grand
|
|
1437
|
+
|
|
1438
|
+
</span>
|
|
1439
|
+
</a>
|
|
1440
|
+
|
|
1441
|
+
<nav class="md-nav" aria-label="grand">
|
|
1442
|
+
<ul class="md-nav__list">
|
|
1443
|
+
|
|
1444
|
+
<li class="md-nav__item">
|
|
1445
|
+
<a href="#configuration-options" class="md-nav__link">
|
|
1446
|
+
<span class="md-ellipsis">
|
|
1447
|
+
|
|
1448
|
+
Configuration options
|
|
1449
|
+
|
|
1450
|
+
</span>
|
|
1451
|
+
</a>
|
|
1452
|
+
|
|
1453
|
+
</li>
|
|
1454
|
+
|
|
1455
|
+
<li class="md-nav__item">
|
|
1456
|
+
<a href="#slurm-scratch-execution" class="md-nav__link">
|
|
1457
|
+
<span class="md-ellipsis">
|
|
1458
|
+
|
|
1459
|
+
Slurm scratch execution
|
|
1460
|
+
|
|
1461
|
+
</span>
|
|
1462
|
+
</a>
|
|
1463
|
+
|
|
1464
|
+
</li>
|
|
1465
|
+
|
|
1466
|
+
<li class="md-nav__item">
|
|
1467
|
+
<a href="#log-syncing" class="md-nav__link">
|
|
1468
|
+
<span class="md-ellipsis">
|
|
1469
|
+
|
|
1470
|
+
Log syncing
|
|
1471
|
+
|
|
1472
|
+
</span>
|
|
1473
|
+
</a>
|
|
1474
|
+
|
|
1475
|
+
</li>
|
|
1476
|
+
|
|
1477
|
+
<li class="md-nav__item">
|
|
1478
|
+
<a href="#outputs" class="md-nav__link">
|
|
1479
|
+
<span class="md-ellipsis">
|
|
1480
|
+
|
|
1481
|
+
Outputs
|
|
1482
|
+
|
|
1483
|
+
</span>
|
|
1484
|
+
</a>
|
|
1485
|
+
|
|
1486
|
+
</li>
|
|
1487
|
+
|
|
1488
|
+
</ul>
|
|
1489
|
+
</nav>
|
|
1490
|
+
|
|
1491
|
+
</li>
|
|
1492
|
+
|
|
1493
|
+
<li class="md-nav__item">
|
|
1494
|
+
<a href="#compressed-inputs" class="md-nav__link">
|
|
1495
|
+
<span class="md-ellipsis">
|
|
1496
|
+
|
|
1497
|
+
Compressed inputs
|
|
1498
|
+
|
|
1499
|
+
</span>
|
|
1500
|
+
</a>
|
|
1501
|
+
|
|
1502
|
+
</li>
|
|
1503
|
+
|
|
1504
|
+
<li class="md-nav__item">
|
|
1505
|
+
<a href="#inducia" class="md-nav__link">
|
|
1506
|
+
<span class="md-ellipsis">
|
|
1507
|
+
|
|
1508
|
+
inducia
|
|
1509
|
+
|
|
1510
|
+
</span>
|
|
1511
|
+
</a>
|
|
1512
|
+
|
|
1513
|
+
</li>
|
|
1514
|
+
|
|
1515
|
+
</ul>
|
|
1516
|
+
|
|
1517
|
+
</nav>
|
|
1518
|
+
|
|
1519
|
+
</li>
|
|
1520
|
+
|
|
1521
|
+
|
|
1522
|
+
|
|
1523
|
+
|
|
1524
|
+
|
|
1525
|
+
|
|
1526
|
+
|
|
1527
|
+
|
|
1528
|
+
|
|
1529
|
+
|
|
1530
|
+
<li class="md-nav__item">
|
|
1531
|
+
<a href="../fep/" class="md-nav__link">
|
|
1532
|
+
|
|
1533
|
+
|
|
1534
|
+
|
|
1535
|
+
<span class="md-ellipsis">
|
|
1536
|
+
|
|
1537
|
+
|
|
1538
|
+
FEP
|
|
1539
|
+
|
|
1540
|
+
|
|
1541
|
+
|
|
1542
|
+
</span>
|
|
1543
|
+
|
|
1544
|
+
|
|
1545
|
+
|
|
1546
|
+
</a>
|
|
1547
|
+
</li>
|
|
1548
|
+
|
|
1549
|
+
|
|
1550
|
+
|
|
1551
|
+
|
|
1552
|
+
|
|
1553
|
+
|
|
1554
|
+
|
|
1555
|
+
|
|
1556
|
+
|
|
1557
|
+
|
|
1558
|
+
<li class="md-nav__item">
|
|
1559
|
+
<a href="../qm/" class="md-nav__link">
|
|
1560
|
+
|
|
1561
|
+
|
|
1562
|
+
|
|
1563
|
+
<span class="md-ellipsis">
|
|
1564
|
+
|
|
1565
|
+
|
|
1566
|
+
QM
|
|
1567
|
+
|
|
1568
|
+
|
|
1569
|
+
|
|
1570
|
+
</span>
|
|
1571
|
+
|
|
1572
|
+
|
|
1573
|
+
|
|
1574
|
+
</a>
|
|
1575
|
+
</li>
|
|
1576
|
+
|
|
1577
|
+
|
|
1578
|
+
|
|
1579
|
+
|
|
1580
|
+
|
|
1581
|
+
|
|
1582
|
+
|
|
1583
|
+
|
|
1584
|
+
|
|
1585
|
+
|
|
1586
|
+
<li class="md-nav__item">
|
|
1587
|
+
<a href="../ml/" class="md-nav__link">
|
|
1588
|
+
|
|
1589
|
+
|
|
1590
|
+
|
|
1591
|
+
<span class="md-ellipsis">
|
|
1592
|
+
|
|
1593
|
+
|
|
1594
|
+
ML
|
|
1595
|
+
|
|
1596
|
+
|
|
1597
|
+
|
|
1598
|
+
</span>
|
|
1599
|
+
|
|
1600
|
+
|
|
1601
|
+
|
|
1602
|
+
</a>
|
|
1603
|
+
</li>
|
|
1604
|
+
|
|
1605
|
+
|
|
1606
|
+
|
|
1607
|
+
|
|
1608
|
+
|
|
1609
|
+
|
|
1610
|
+
|
|
1611
|
+
|
|
1612
|
+
|
|
1613
|
+
|
|
1614
|
+
<li class="md-nav__item">
|
|
1615
|
+
<a href="../datascience/" class="md-nav__link">
|
|
1616
|
+
|
|
1617
|
+
|
|
1618
|
+
|
|
1619
|
+
<span class="md-ellipsis">
|
|
1620
|
+
|
|
1621
|
+
|
|
1622
|
+
Data Science
|
|
1623
|
+
|
|
1624
|
+
|
|
1625
|
+
|
|
1626
|
+
</span>
|
|
1627
|
+
|
|
1628
|
+
|
|
1629
|
+
|
|
1630
|
+
</a>
|
|
1631
|
+
</li>
|
|
1632
|
+
|
|
1633
|
+
|
|
1634
|
+
|
|
1635
|
+
|
|
1636
|
+
</ul>
|
|
1637
|
+
</nav>
|
|
1638
|
+
|
|
1639
|
+
</li>
|
|
1640
|
+
|
|
1641
|
+
|
|
1642
|
+
|
|
1643
|
+
|
|
1644
|
+
|
|
1645
|
+
|
|
1646
|
+
|
|
1647
|
+
|
|
1648
|
+
|
|
1649
|
+
|
|
1650
|
+
|
|
1651
|
+
|
|
1652
|
+
|
|
1653
|
+
|
|
1654
|
+
|
|
1655
|
+
|
|
1656
|
+
|
|
1657
|
+
|
|
1658
|
+
|
|
1659
|
+
|
|
1660
|
+
|
|
1661
|
+
|
|
1662
|
+
|
|
1663
|
+
|
|
1664
|
+
|
|
1665
|
+
<li class="md-nav__item md-nav__item--section md-nav__item--nested">
|
|
1666
|
+
|
|
1667
|
+
|
|
1668
|
+
|
|
1669
|
+
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_7" >
|
|
1670
|
+
|
|
1671
|
+
|
|
1672
|
+
<div class="md-nav__link md-nav__container">
|
|
1673
|
+
<a href="../../gui/" class="md-nav__link ">
|
|
1674
|
+
|
|
1675
|
+
|
|
1676
|
+
|
|
1677
|
+
<span class="md-ellipsis">
|
|
1678
|
+
|
|
1679
|
+
|
|
1680
|
+
GUI
|
|
1681
|
+
|
|
1682
|
+
|
|
1683
|
+
|
|
1684
|
+
</span>
|
|
1685
|
+
|
|
1686
|
+
|
|
1687
|
+
|
|
1688
|
+
</a>
|
|
1689
|
+
|
|
1690
|
+
|
|
1691
|
+
<label class="md-nav__link " for="__nav_7" id="__nav_7_label" tabindex="">
|
|
1692
|
+
<span class="md-nav__icon md-icon"></span>
|
|
1693
|
+
</label>
|
|
1694
|
+
|
|
1695
|
+
</div>
|
|
1696
|
+
|
|
1697
|
+
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_7_label" aria-expanded="false">
|
|
1698
|
+
<label class="md-nav__title" for="__nav_7">
|
|
1699
|
+
<span class="md-nav__icon md-icon"></span>
|
|
1700
|
+
|
|
1701
|
+
|
|
1702
|
+
GUI
|
|
1703
|
+
|
|
1704
|
+
|
|
1705
|
+
</label>
|
|
1706
|
+
<ul class="md-nav__list" data-md-scrollfix>
|
|
1707
|
+
|
|
1708
|
+
|
|
1709
|
+
|
|
1710
|
+
|
|
1711
|
+
|
|
1712
|
+
|
|
1713
|
+
|
|
1714
|
+
<li class="md-nav__item">
|
|
1715
|
+
<a href="../../gui/walkthrough/" class="md-nav__link">
|
|
1716
|
+
|
|
1717
|
+
|
|
1718
|
+
|
|
1719
|
+
<span class="md-ellipsis">
|
|
1720
|
+
|
|
1721
|
+
|
|
1722
|
+
Walkthrough
|
|
1723
|
+
|
|
1724
|
+
|
|
1725
|
+
|
|
1726
|
+
</span>
|
|
1727
|
+
|
|
1728
|
+
|
|
1729
|
+
|
|
1730
|
+
</a>
|
|
1731
|
+
</li>
|
|
1732
|
+
|
|
1733
|
+
|
|
1734
|
+
|
|
1735
|
+
|
|
1736
|
+
|
|
1737
|
+
|
|
1738
|
+
|
|
1739
|
+
|
|
1740
|
+
|
|
1741
|
+
|
|
1742
|
+
<li class="md-nav__item">
|
|
1743
|
+
<a href="../../gui/plugin-authoring/" class="md-nav__link">
|
|
1744
|
+
|
|
1745
|
+
|
|
1746
|
+
|
|
1747
|
+
<span class="md-ellipsis">
|
|
1748
|
+
|
|
1749
|
+
|
|
1750
|
+
Plugin GUI Authoring
|
|
1751
|
+
|
|
1752
|
+
|
|
1753
|
+
|
|
1754
|
+
</span>
|
|
1755
|
+
|
|
1756
|
+
|
|
1757
|
+
|
|
1758
|
+
</a>
|
|
1759
|
+
</li>
|
|
1760
|
+
|
|
1761
|
+
|
|
1762
|
+
|
|
1763
|
+
|
|
1764
|
+
</ul>
|
|
1765
|
+
</nav>
|
|
1766
|
+
|
|
1767
|
+
</li>
|
|
1768
|
+
|
|
1769
|
+
|
|
1770
|
+
|
|
1771
|
+
|
|
1772
|
+
|
|
1773
|
+
|
|
1774
|
+
|
|
1775
|
+
|
|
1776
|
+
|
|
1777
|
+
|
|
1778
|
+
|
|
1779
|
+
|
|
1780
|
+
|
|
1781
|
+
|
|
1782
|
+
|
|
1783
|
+
|
|
1784
|
+
|
|
1785
|
+
|
|
1786
|
+
|
|
1787
|
+
|
|
1788
|
+
|
|
1789
|
+
|
|
1790
|
+
|
|
1791
|
+
|
|
1792
|
+
|
|
1793
|
+
|
|
1794
|
+
|
|
1795
|
+
<li class="md-nav__item md-nav__item--section md-nav__item--nested">
|
|
1796
|
+
|
|
1797
|
+
|
|
1798
|
+
|
|
1799
|
+
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_8" >
|
|
1800
|
+
|
|
1801
|
+
|
|
1802
|
+
<div class="md-nav__link md-nav__container">
|
|
1803
|
+
<a href="../../reference/" class="md-nav__link ">
|
|
1804
|
+
|
|
1805
|
+
|
|
1806
|
+
|
|
1807
|
+
<span class="md-ellipsis">
|
|
1808
|
+
|
|
1809
|
+
|
|
1810
|
+
Reference
|
|
1811
|
+
|
|
1812
|
+
|
|
1813
|
+
|
|
1814
|
+
</span>
|
|
1815
|
+
|
|
1816
|
+
|
|
1817
|
+
|
|
1818
|
+
</a>
|
|
1819
|
+
|
|
1820
|
+
|
|
1821
|
+
<label class="md-nav__link " for="__nav_8" id="__nav_8_label" tabindex="">
|
|
1822
|
+
<span class="md-nav__icon md-icon"></span>
|
|
1823
|
+
</label>
|
|
1824
|
+
|
|
1825
|
+
</div>
|
|
1826
|
+
|
|
1827
|
+
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_8_label" aria-expanded="false">
|
|
1828
|
+
<label class="md-nav__title" for="__nav_8">
|
|
1829
|
+
<span class="md-nav__icon md-icon"></span>
|
|
1830
|
+
|
|
1831
|
+
|
|
1832
|
+
Reference
|
|
1833
|
+
|
|
1834
|
+
|
|
1835
|
+
</label>
|
|
1836
|
+
<ul class="md-nav__list" data-md-scrollfix>
|
|
1837
|
+
|
|
1838
|
+
|
|
1839
|
+
|
|
1840
|
+
|
|
1841
|
+
|
|
1842
|
+
|
|
1843
|
+
|
|
1844
|
+
<li class="md-nav__item">
|
|
1845
|
+
<a href="../../reference/api/" class="md-nav__link">
|
|
1846
|
+
|
|
1847
|
+
|
|
1848
|
+
|
|
1849
|
+
<span class="md-ellipsis">
|
|
1850
|
+
|
|
1851
|
+
|
|
1852
|
+
Public Python API
|
|
1853
|
+
|
|
1854
|
+
|
|
1855
|
+
|
|
1856
|
+
</span>
|
|
1857
|
+
|
|
1858
|
+
|
|
1859
|
+
|
|
1860
|
+
</a>
|
|
1861
|
+
</li>
|
|
1862
|
+
|
|
1863
|
+
|
|
1864
|
+
|
|
1865
|
+
|
|
1866
|
+
|
|
1867
|
+
|
|
1868
|
+
|
|
1869
|
+
|
|
1870
|
+
|
|
1871
|
+
|
|
1872
|
+
<li class="md-nav__item">
|
|
1873
|
+
<a href="../../examples/" class="md-nav__link">
|
|
1874
|
+
|
|
1875
|
+
|
|
1876
|
+
|
|
1877
|
+
<span class="md-ellipsis">
|
|
1878
|
+
|
|
1879
|
+
|
|
1880
|
+
Example Library
|
|
1881
|
+
|
|
1882
|
+
|
|
1883
|
+
|
|
1884
|
+
</span>
|
|
1885
|
+
|
|
1886
|
+
|
|
1887
|
+
|
|
1888
|
+
</a>
|
|
1889
|
+
</li>
|
|
1890
|
+
|
|
1891
|
+
|
|
1892
|
+
|
|
1893
|
+
|
|
1894
|
+
|
|
1895
|
+
|
|
1896
|
+
|
|
1897
|
+
|
|
1898
|
+
|
|
1899
|
+
|
|
1900
|
+
<li class="md-nav__item">
|
|
1901
|
+
<a href="../../examples/quickstart/" class="md-nav__link">
|
|
1902
|
+
|
|
1903
|
+
|
|
1904
|
+
|
|
1905
|
+
<span class="md-ellipsis">
|
|
1906
|
+
|
|
1907
|
+
|
|
1908
|
+
Example Data Provenance
|
|
1909
|
+
|
|
1910
|
+
|
|
1911
|
+
|
|
1912
|
+
</span>
|
|
1913
|
+
|
|
1914
|
+
|
|
1915
|
+
|
|
1916
|
+
</a>
|
|
1917
|
+
</li>
|
|
1918
|
+
|
|
1919
|
+
|
|
1920
|
+
|
|
1921
|
+
|
|
1922
|
+
</ul>
|
|
1923
|
+
</nav>
|
|
1924
|
+
|
|
1925
|
+
</li>
|
|
1926
|
+
|
|
1927
|
+
|
|
1928
|
+
|
|
1929
|
+
|
|
1930
|
+
|
|
1931
|
+
|
|
1932
|
+
|
|
1933
|
+
|
|
1934
|
+
|
|
1935
|
+
|
|
1936
|
+
|
|
1937
|
+
|
|
1938
|
+
|
|
1939
|
+
|
|
1940
|
+
|
|
1941
|
+
|
|
1942
|
+
|
|
1943
|
+
|
|
1944
|
+
|
|
1945
|
+
|
|
1946
|
+
|
|
1947
|
+
|
|
1948
|
+
|
|
1949
|
+
|
|
1950
|
+
|
|
1951
|
+
|
|
1952
|
+
|
|
1953
|
+
<li class="md-nav__item md-nav__item--section md-nav__item--nested">
|
|
1954
|
+
|
|
1955
|
+
|
|
1956
|
+
|
|
1957
|
+
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_9" >
|
|
1958
|
+
|
|
1959
|
+
|
|
1960
|
+
<label class="md-nav__link" for="__nav_9" id="__nav_9_label" tabindex="">
|
|
1961
|
+
|
|
1962
|
+
|
|
1963
|
+
|
|
1964
|
+
<span class="md-ellipsis">
|
|
1965
|
+
|
|
1966
|
+
|
|
1967
|
+
Explanation
|
|
1968
|
+
|
|
1969
|
+
|
|
1970
|
+
|
|
1971
|
+
</span>
|
|
1972
|
+
|
|
1973
|
+
|
|
1974
|
+
|
|
1975
|
+
<span class="md-nav__icon md-icon"></span>
|
|
1976
|
+
</label>
|
|
1977
|
+
|
|
1978
|
+
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_9_label" aria-expanded="false">
|
|
1979
|
+
<label class="md-nav__title" for="__nav_9">
|
|
1980
|
+
<span class="md-nav__icon md-icon"></span>
|
|
1981
|
+
|
|
1982
|
+
|
|
1983
|
+
Explanation
|
|
1984
|
+
|
|
1985
|
+
|
|
1986
|
+
</label>
|
|
1987
|
+
<ul class="md-nav__list" data-md-scrollfix>
|
|
1988
|
+
|
|
1989
|
+
|
|
1990
|
+
|
|
1991
|
+
|
|
1992
|
+
|
|
1993
|
+
|
|
1994
|
+
|
|
1995
|
+
<li class="md-nav__item">
|
|
1996
|
+
<a href="../../explanation/reproducibility/" class="md-nav__link">
|
|
1997
|
+
|
|
1998
|
+
|
|
1999
|
+
|
|
2000
|
+
<span class="md-ellipsis">
|
|
2001
|
+
|
|
2002
|
+
|
|
2003
|
+
Reproducibility
|
|
2004
|
+
|
|
2005
|
+
|
|
2006
|
+
|
|
2007
|
+
</span>
|
|
2008
|
+
|
|
2009
|
+
|
|
2010
|
+
|
|
2011
|
+
</a>
|
|
2012
|
+
</li>
|
|
2013
|
+
|
|
2014
|
+
|
|
2015
|
+
|
|
2016
|
+
|
|
2017
|
+
|
|
2018
|
+
|
|
2019
|
+
|
|
2020
|
+
|
|
2021
|
+
|
|
2022
|
+
|
|
2023
|
+
<li class="md-nav__item">
|
|
2024
|
+
<a href="../../explanation/references/" class="md-nav__link">
|
|
2025
|
+
|
|
2026
|
+
|
|
2027
|
+
|
|
2028
|
+
<span class="md-ellipsis">
|
|
2029
|
+
|
|
2030
|
+
|
|
2031
|
+
Method References
|
|
2032
|
+
|
|
2033
|
+
|
|
2034
|
+
|
|
2035
|
+
</span>
|
|
2036
|
+
|
|
2037
|
+
|
|
2038
|
+
|
|
2039
|
+
</a>
|
|
2040
|
+
</li>
|
|
2041
|
+
|
|
2042
|
+
|
|
2043
|
+
|
|
2044
|
+
|
|
2045
|
+
|
|
2046
|
+
|
|
2047
|
+
|
|
2048
|
+
|
|
2049
|
+
|
|
2050
|
+
|
|
2051
|
+
<li class="md-nav__item">
|
|
2052
|
+
<a href="../../explanation/third-party-notices/" class="md-nav__link">
|
|
2053
|
+
|
|
2054
|
+
|
|
2055
|
+
|
|
2056
|
+
<span class="md-ellipsis">
|
|
2057
|
+
|
|
2058
|
+
|
|
2059
|
+
Third-party Notices
|
|
2060
|
+
|
|
2061
|
+
|
|
2062
|
+
|
|
2063
|
+
</span>
|
|
2064
|
+
|
|
2065
|
+
|
|
2066
|
+
|
|
2067
|
+
</a>
|
|
2068
|
+
</li>
|
|
2069
|
+
|
|
2070
|
+
|
|
2071
|
+
|
|
2072
|
+
|
|
2073
|
+
</ul>
|
|
2074
|
+
</nav>
|
|
2075
|
+
|
|
2076
|
+
</li>
|
|
2077
|
+
|
|
2078
|
+
|
|
2079
|
+
|
|
2080
|
+
|
|
2081
|
+
|
|
2082
|
+
|
|
2083
|
+
|
|
2084
|
+
|
|
2085
|
+
|
|
2086
|
+
|
|
2087
|
+
|
|
2088
|
+
|
|
2089
|
+
|
|
2090
|
+
|
|
2091
|
+
|
|
2092
|
+
|
|
2093
|
+
|
|
2094
|
+
|
|
2095
|
+
|
|
2096
|
+
|
|
2097
|
+
|
|
2098
|
+
|
|
2099
|
+
|
|
2100
|
+
|
|
2101
|
+
|
|
2102
|
+
|
|
2103
|
+
|
|
2104
|
+
|
|
2105
|
+
|
|
2106
|
+
|
|
2107
|
+
|
|
2108
|
+
|
|
2109
|
+
|
|
2110
|
+
|
|
2111
|
+
|
|
2112
|
+
<li class="md-nav__item md-nav__item--section md-nav__item--nested">
|
|
2113
|
+
|
|
2114
|
+
|
|
2115
|
+
|
|
2116
|
+
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_10" >
|
|
2117
|
+
|
|
2118
|
+
|
|
2119
|
+
<div class="md-nav__link md-nav__container">
|
|
2120
|
+
<a href="../../development/" class="md-nav__link ">
|
|
2121
|
+
|
|
2122
|
+
|
|
2123
|
+
|
|
2124
|
+
<span class="md-ellipsis">
|
|
2125
|
+
|
|
2126
|
+
|
|
2127
|
+
Development
|
|
2128
|
+
|
|
2129
|
+
|
|
2130
|
+
|
|
2131
|
+
</span>
|
|
2132
|
+
|
|
2133
|
+
|
|
2134
|
+
|
|
2135
|
+
</a>
|
|
2136
|
+
|
|
2137
|
+
|
|
2138
|
+
<label class="md-nav__link " for="__nav_10" id="__nav_10_label" tabindex="">
|
|
2139
|
+
<span class="md-nav__icon md-icon"></span>
|
|
2140
|
+
</label>
|
|
2141
|
+
|
|
2142
|
+
</div>
|
|
2143
|
+
|
|
2144
|
+
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_10_label" aria-expanded="false">
|
|
2145
|
+
<label class="md-nav__title" for="__nav_10">
|
|
2146
|
+
<span class="md-nav__icon md-icon"></span>
|
|
2147
|
+
|
|
2148
|
+
|
|
2149
|
+
Development
|
|
2150
|
+
|
|
2151
|
+
|
|
2152
|
+
</label>
|
|
2153
|
+
<ul class="md-nav__list" data-md-scrollfix>
|
|
2154
|
+
|
|
2155
|
+
|
|
2156
|
+
|
|
2157
|
+
|
|
2158
|
+
|
|
2159
|
+
|
|
2160
|
+
|
|
2161
|
+
<li class="md-nav__item">
|
|
2162
|
+
<a href="../../development/release-notes/" class="md-nav__link">
|
|
2163
|
+
|
|
2164
|
+
|
|
2165
|
+
|
|
2166
|
+
<span class="md-ellipsis">
|
|
2167
|
+
|
|
2168
|
+
|
|
2169
|
+
Release Notes
|
|
2170
|
+
|
|
2171
|
+
|
|
2172
|
+
|
|
2173
|
+
</span>
|
|
2174
|
+
|
|
2175
|
+
|
|
2176
|
+
|
|
2177
|
+
</a>
|
|
2178
|
+
</li>
|
|
2179
|
+
|
|
2180
|
+
|
|
2181
|
+
|
|
2182
|
+
|
|
2183
|
+
|
|
2184
|
+
|
|
2185
|
+
|
|
2186
|
+
|
|
2187
|
+
|
|
2188
|
+
|
|
2189
|
+
<li class="md-nav__item">
|
|
2190
|
+
<a href="../../development/tool-authoring/" class="md-nav__link">
|
|
2191
|
+
|
|
2192
|
+
|
|
2193
|
+
|
|
2194
|
+
<span class="md-ellipsis">
|
|
2195
|
+
|
|
2196
|
+
|
|
2197
|
+
Tool Authoring
|
|
2198
|
+
|
|
2199
|
+
|
|
2200
|
+
|
|
2201
|
+
</span>
|
|
2202
|
+
|
|
2203
|
+
|
|
2204
|
+
|
|
2205
|
+
</a>
|
|
2206
|
+
</li>
|
|
2207
|
+
|
|
2208
|
+
|
|
2209
|
+
|
|
2210
|
+
|
|
2211
|
+
|
|
2212
|
+
|
|
2213
|
+
|
|
2214
|
+
|
|
2215
|
+
|
|
2216
|
+
|
|
2217
|
+
<li class="md-nav__item">
|
|
2218
|
+
<a href="../../development/documentation/" class="md-nav__link">
|
|
2219
|
+
|
|
2220
|
+
|
|
2221
|
+
|
|
2222
|
+
<span class="md-ellipsis">
|
|
2223
|
+
|
|
2224
|
+
|
|
2225
|
+
Documentation
|
|
2226
|
+
|
|
2227
|
+
|
|
2228
|
+
|
|
2229
|
+
</span>
|
|
2230
|
+
|
|
2231
|
+
|
|
2232
|
+
|
|
2233
|
+
</a>
|
|
2234
|
+
</li>
|
|
2235
|
+
|
|
2236
|
+
|
|
2237
|
+
|
|
2238
|
+
|
|
2239
|
+
|
|
2240
|
+
|
|
2241
|
+
|
|
2242
|
+
|
|
2243
|
+
|
|
2244
|
+
|
|
2245
|
+
<li class="md-nav__item">
|
|
2246
|
+
<a href="../../development/contributing/" class="md-nav__link">
|
|
2247
|
+
|
|
2248
|
+
|
|
2249
|
+
|
|
2250
|
+
<span class="md-ellipsis">
|
|
2251
|
+
|
|
2252
|
+
|
|
2253
|
+
Contributing
|
|
2254
|
+
|
|
2255
|
+
|
|
2256
|
+
|
|
2257
|
+
</span>
|
|
2258
|
+
|
|
2259
|
+
|
|
2260
|
+
|
|
2261
|
+
</a>
|
|
2262
|
+
</li>
|
|
2263
|
+
|
|
2264
|
+
|
|
2265
|
+
|
|
2266
|
+
|
|
2267
|
+
|
|
2268
|
+
|
|
2269
|
+
|
|
2270
|
+
|
|
2271
|
+
|
|
2272
|
+
|
|
2273
|
+
<li class="md-nav__item">
|
|
2274
|
+
<a href="../../development/security/" class="md-nav__link">
|
|
2275
|
+
|
|
2276
|
+
|
|
2277
|
+
|
|
2278
|
+
<span class="md-ellipsis">
|
|
2279
|
+
|
|
2280
|
+
|
|
2281
|
+
Security Reporting
|
|
2282
|
+
|
|
2283
|
+
|
|
2284
|
+
|
|
2285
|
+
</span>
|
|
2286
|
+
|
|
2287
|
+
|
|
2288
|
+
|
|
2289
|
+
</a>
|
|
2290
|
+
</li>
|
|
2291
|
+
|
|
2292
|
+
|
|
2293
|
+
|
|
2294
|
+
|
|
2295
|
+
|
|
2296
|
+
|
|
2297
|
+
|
|
2298
|
+
|
|
2299
|
+
|
|
2300
|
+
|
|
2301
|
+
<li class="md-nav__item">
|
|
2302
|
+
<a href="../../development/release-readiness/" class="md-nav__link">
|
|
2303
|
+
|
|
2304
|
+
|
|
2305
|
+
|
|
2306
|
+
<span class="md-ellipsis">
|
|
2307
|
+
|
|
2308
|
+
|
|
2309
|
+
Release Readiness
|
|
2310
|
+
|
|
2311
|
+
|
|
2312
|
+
|
|
2313
|
+
</span>
|
|
2314
|
+
|
|
2315
|
+
|
|
2316
|
+
|
|
2317
|
+
</a>
|
|
2318
|
+
</li>
|
|
2319
|
+
|
|
2320
|
+
|
|
2321
|
+
|
|
2322
|
+
|
|
2323
|
+
|
|
2324
|
+
|
|
2325
|
+
|
|
2326
|
+
|
|
2327
|
+
|
|
2328
|
+
|
|
2329
|
+
<li class="md-nav__item">
|
|
2330
|
+
<a href="../../development/ci-publishing/" class="md-nav__link">
|
|
2331
|
+
|
|
2332
|
+
|
|
2333
|
+
|
|
2334
|
+
<span class="md-ellipsis">
|
|
2335
|
+
|
|
2336
|
+
|
|
2337
|
+
CI and Publishing
|
|
2338
|
+
|
|
2339
|
+
|
|
2340
|
+
|
|
2341
|
+
</span>
|
|
2342
|
+
|
|
2343
|
+
|
|
2344
|
+
|
|
2345
|
+
</a>
|
|
2346
|
+
</li>
|
|
2347
|
+
|
|
2348
|
+
|
|
2349
|
+
|
|
2350
|
+
|
|
2351
|
+
</ul>
|
|
2352
|
+
</nav>
|
|
2353
|
+
|
|
2354
|
+
</li>
|
|
2355
|
+
|
|
2356
|
+
|
|
2357
|
+
|
|
2358
|
+
</ul>
|
|
2359
|
+
</nav>
|
|
2360
|
+
</div>
|
|
2361
|
+
</div>
|
|
2362
|
+
</div>
|
|
2363
|
+
|
|
2364
|
+
|
|
2365
|
+
|
|
2366
|
+
<div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc" >
|
|
2367
|
+
<div class="md-sidebar__scrollwrap">
|
|
2368
|
+
<div class="md-sidebar__inner">
|
|
2369
|
+
|
|
2370
|
+
|
|
2371
|
+
<nav class="md-nav md-nav--secondary" aria-label="Table of contents">
|
|
2372
|
+
|
|
2373
|
+
|
|
2374
|
+
|
|
2375
|
+
|
|
2376
|
+
|
|
2377
|
+
|
|
2378
|
+
<label class="md-nav__title" for="__toc">
|
|
2379
|
+
<span class="md-nav__icon md-icon"></span>
|
|
2380
|
+
Table of contents
|
|
2381
|
+
</label>
|
|
2382
|
+
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
|
|
2383
|
+
|
|
2384
|
+
<li class="md-nav__item">
|
|
2385
|
+
<a href="#requirements-and-example-status" class="md-nav__link">
|
|
2386
|
+
<span class="md-ellipsis">
|
|
2387
|
+
|
|
2388
|
+
Requirements and example status
|
|
2389
|
+
|
|
2390
|
+
</span>
|
|
2391
|
+
</a>
|
|
2392
|
+
|
|
2393
|
+
</li>
|
|
2394
|
+
|
|
2395
|
+
<li class="md-nav__item">
|
|
2396
|
+
<a href="#fix-structure" class="md-nav__link">
|
|
2397
|
+
<span class="md-ellipsis">
|
|
2398
|
+
|
|
2399
|
+
fix-structure
|
|
2400
|
+
|
|
2401
|
+
</span>
|
|
2402
|
+
</a>
|
|
2403
|
+
|
|
2404
|
+
<nav class="md-nav" aria-label="fix-structure">
|
|
2405
|
+
<ul class="md-nav__list">
|
|
2406
|
+
|
|
2407
|
+
<li class="md-nav__item">
|
|
2408
|
+
<a href="#terminal-chemistry" class="md-nav__link">
|
|
2409
|
+
<span class="md-ellipsis">
|
|
2410
|
+
|
|
2411
|
+
Terminal chemistry
|
|
2412
|
+
|
|
2413
|
+
</span>
|
|
2414
|
+
</a>
|
|
2415
|
+
|
|
2416
|
+
</li>
|
|
2417
|
+
|
|
2418
|
+
<li class="md-nav__item">
|
|
2419
|
+
<a href="#pipeline-example" class="md-nav__link">
|
|
2420
|
+
<span class="md-ellipsis">
|
|
2421
|
+
|
|
2422
|
+
Pipeline example
|
|
2423
|
+
|
|
2424
|
+
</span>
|
|
2425
|
+
</a>
|
|
2426
|
+
|
|
2427
|
+
</li>
|
|
2428
|
+
|
|
2429
|
+
</ul>
|
|
2430
|
+
</nav>
|
|
2431
|
+
|
|
2432
|
+
</li>
|
|
2433
|
+
|
|
2434
|
+
<li class="md-nav__item">
|
|
2435
|
+
<a href="#center-and-align" class="md-nav__link">
|
|
2436
|
+
<span class="md-ellipsis">
|
|
2437
|
+
|
|
2438
|
+
center-and-align
|
|
2439
|
+
|
|
2440
|
+
</span>
|
|
2441
|
+
</a>
|
|
2442
|
+
|
|
2443
|
+
</li>
|
|
2444
|
+
|
|
2445
|
+
<li class="md-nav__item">
|
|
2446
|
+
<a href="#extract-frames" class="md-nav__link">
|
|
2447
|
+
<span class="md-ellipsis">
|
|
2448
|
+
|
|
2449
|
+
extract-frames
|
|
2450
|
+
|
|
2451
|
+
</span>
|
|
2452
|
+
</a>
|
|
2453
|
+
|
|
2454
|
+
</li>
|
|
2455
|
+
|
|
2456
|
+
<li class="md-nav__item">
|
|
2457
|
+
<a href="#cluster-representative" class="md-nav__link">
|
|
2458
|
+
<span class="md-ellipsis">
|
|
2459
|
+
|
|
2460
|
+
cluster-representative
|
|
2461
|
+
|
|
2462
|
+
</span>
|
|
2463
|
+
</a>
|
|
2464
|
+
|
|
2465
|
+
</li>
|
|
2466
|
+
|
|
2467
|
+
<li class="md-nav__item">
|
|
2468
|
+
<a href="#plain-md" class="md-nav__link">
|
|
2469
|
+
<span class="md-ellipsis">
|
|
2470
|
+
|
|
2471
|
+
plain-md
|
|
2472
|
+
|
|
2473
|
+
</span>
|
|
2474
|
+
</a>
|
|
2475
|
+
|
|
2476
|
+
</li>
|
|
2477
|
+
|
|
2478
|
+
<li class="md-nav__item">
|
|
2479
|
+
<a href="#minimize" class="md-nav__link">
|
|
2480
|
+
<span class="md-ellipsis">
|
|
2481
|
+
|
|
2482
|
+
minimize
|
|
2483
|
+
|
|
2484
|
+
</span>
|
|
2485
|
+
</a>
|
|
2486
|
+
|
|
2487
|
+
<nav class="md-nav" aria-label="minimize">
|
|
2488
|
+
<ul class="md-nav__list">
|
|
2489
|
+
|
|
2490
|
+
<li class="md-nav__item">
|
|
2491
|
+
<a href="#minimize-installation-and-execution" class="md-nav__link">
|
|
2492
|
+
<span class="md-ellipsis">
|
|
2493
|
+
|
|
2494
|
+
Minimize installation and execution
|
|
2495
|
+
|
|
2496
|
+
</span>
|
|
2497
|
+
</a>
|
|
2498
|
+
|
|
2499
|
+
</li>
|
|
2500
|
+
|
|
2501
|
+
<li class="md-nav__item">
|
|
2502
|
+
<a href="#minimize-inputs-and-physical-model" class="md-nav__link">
|
|
2503
|
+
<span class="md-ellipsis">
|
|
2504
|
+
|
|
2505
|
+
Minimize inputs and physical model
|
|
2506
|
+
|
|
2507
|
+
</span>
|
|
2508
|
+
</a>
|
|
2509
|
+
|
|
2510
|
+
</li>
|
|
2511
|
+
|
|
2512
|
+
<li class="md-nav__item">
|
|
2513
|
+
<a href="#minimize-regions-and-modes" class="md-nav__link">
|
|
2514
|
+
<span class="md-ellipsis">
|
|
2515
|
+
|
|
2516
|
+
Minimize regions and modes
|
|
2517
|
+
|
|
2518
|
+
</span>
|
|
2519
|
+
</a>
|
|
2520
|
+
|
|
2521
|
+
</li>
|
|
2522
|
+
|
|
2523
|
+
<li class="md-nav__item">
|
|
2524
|
+
<a href="#minimize-convergence-diagnostics-and-quality" class="md-nav__link">
|
|
2525
|
+
<span class="md-ellipsis">
|
|
2526
|
+
|
|
2527
|
+
Minimize convergence, diagnostics, and quality
|
|
2528
|
+
|
|
2529
|
+
</span>
|
|
2530
|
+
</a>
|
|
2531
|
+
|
|
2532
|
+
</li>
|
|
2533
|
+
|
|
2534
|
+
<li class="md-nav__item">
|
|
2535
|
+
<a href="#minimize-artifacts-and-pipelines" class="md-nav__link">
|
|
2536
|
+
<span class="md-ellipsis">
|
|
2537
|
+
|
|
2538
|
+
Minimize artifacts and pipelines
|
|
2539
|
+
|
|
2540
|
+
</span>
|
|
2541
|
+
</a>
|
|
2542
|
+
|
|
2543
|
+
</li>
|
|
2544
|
+
|
|
2545
|
+
</ul>
|
|
2546
|
+
</nav>
|
|
2547
|
+
|
|
2548
|
+
</li>
|
|
2549
|
+
|
|
2550
|
+
<li class="md-nav__item">
|
|
2551
|
+
<a href="#openbpmd" class="md-nav__link">
|
|
2552
|
+
<span class="md-ellipsis">
|
|
2553
|
+
|
|
2554
|
+
openbpmd
|
|
2555
|
+
|
|
2556
|
+
</span>
|
|
2557
|
+
</a>
|
|
2558
|
+
|
|
2559
|
+
</li>
|
|
2560
|
+
|
|
2561
|
+
<li class="md-nav__item">
|
|
2562
|
+
<a href="#grand" class="md-nav__link">
|
|
2563
|
+
<span class="md-ellipsis">
|
|
2564
|
+
|
|
2565
|
+
grand
|
|
2566
|
+
|
|
2567
|
+
</span>
|
|
2568
|
+
</a>
|
|
2569
|
+
|
|
2570
|
+
<nav class="md-nav" aria-label="grand">
|
|
2571
|
+
<ul class="md-nav__list">
|
|
2572
|
+
|
|
2573
|
+
<li class="md-nav__item">
|
|
2574
|
+
<a href="#configuration-options" class="md-nav__link">
|
|
2575
|
+
<span class="md-ellipsis">
|
|
2576
|
+
|
|
2577
|
+
Configuration options
|
|
2578
|
+
|
|
2579
|
+
</span>
|
|
2580
|
+
</a>
|
|
2581
|
+
|
|
2582
|
+
</li>
|
|
2583
|
+
|
|
2584
|
+
<li class="md-nav__item">
|
|
2585
|
+
<a href="#slurm-scratch-execution" class="md-nav__link">
|
|
2586
|
+
<span class="md-ellipsis">
|
|
2587
|
+
|
|
2588
|
+
Slurm scratch execution
|
|
2589
|
+
|
|
2590
|
+
</span>
|
|
2591
|
+
</a>
|
|
2592
|
+
|
|
2593
|
+
</li>
|
|
2594
|
+
|
|
2595
|
+
<li class="md-nav__item">
|
|
2596
|
+
<a href="#log-syncing" class="md-nav__link">
|
|
2597
|
+
<span class="md-ellipsis">
|
|
2598
|
+
|
|
2599
|
+
Log syncing
|
|
2600
|
+
|
|
2601
|
+
</span>
|
|
2602
|
+
</a>
|
|
2603
|
+
|
|
2604
|
+
</li>
|
|
2605
|
+
|
|
2606
|
+
<li class="md-nav__item">
|
|
2607
|
+
<a href="#outputs" class="md-nav__link">
|
|
2608
|
+
<span class="md-ellipsis">
|
|
2609
|
+
|
|
2610
|
+
Outputs
|
|
2611
|
+
|
|
2612
|
+
</span>
|
|
2613
|
+
</a>
|
|
2614
|
+
|
|
2615
|
+
</li>
|
|
2616
|
+
|
|
2617
|
+
</ul>
|
|
2618
|
+
</nav>
|
|
2619
|
+
|
|
2620
|
+
</li>
|
|
2621
|
+
|
|
2622
|
+
<li class="md-nav__item">
|
|
2623
|
+
<a href="#compressed-inputs" class="md-nav__link">
|
|
2624
|
+
<span class="md-ellipsis">
|
|
2625
|
+
|
|
2626
|
+
Compressed inputs
|
|
2627
|
+
|
|
2628
|
+
</span>
|
|
2629
|
+
</a>
|
|
2630
|
+
|
|
2631
|
+
</li>
|
|
2632
|
+
|
|
2633
|
+
<li class="md-nav__item">
|
|
2634
|
+
<a href="#inducia" class="md-nav__link">
|
|
2635
|
+
<span class="md-ellipsis">
|
|
2636
|
+
|
|
2637
|
+
inducia
|
|
2638
|
+
|
|
2639
|
+
</span>
|
|
2640
|
+
</a>
|
|
2641
|
+
|
|
2642
|
+
</li>
|
|
2643
|
+
|
|
2644
|
+
</ul>
|
|
2645
|
+
|
|
2646
|
+
</nav>
|
|
2647
|
+
</div>
|
|
2648
|
+
</div>
|
|
2649
|
+
</div>
|
|
2650
|
+
|
|
2651
|
+
|
|
2652
|
+
|
|
2653
|
+
<div class="md-content" data-md-component="content">
|
|
2654
|
+
|
|
2655
|
+
<article class="md-content__inner md-typeset">
|
|
2656
|
+
|
|
2657
|
+
|
|
2658
|
+
|
|
2659
|
+
|
|
2660
|
+
|
|
2661
|
+
|
|
2662
|
+
|
|
2663
|
+
|
|
2664
|
+
<h1 id="md-plugin">MD Plugin<a class="headerlink" href="#md-plugin" title="Permanent link">¶</a></h1>
|
|
2665
|
+
<p>Package: <code>caddforge-md</code></p>
|
|
2666
|
+
<div class="admonition info">
|
|
2667
|
+
<p class="admonition-title">Public source tag</p>
|
|
2668
|
+
<p>This page describes <code>caddforge-md</code> <code>0.13.0</code>, tagged as <code>v0.13.0</code>.
|
|
2669
|
+
PyPI publication is pending; see the <a href="../version-matrix/">version matrix</a>.</p>
|
|
2670
|
+
</div>
|
|
2671
|
+
<p>The MD plugin provides molecular dynamics preparation, simulation, and analysis workflows.</p>
|
|
2672
|
+
<h2 id="requirements-and-example-status">Requirements and example status<a class="headerlink" href="#requirements-and-example-status" title="Permanent link">¶</a></h2>
|
|
2673
|
+
<p>The <a href="../../examples/">example library</a> provides downloadable configuration
|
|
2674
|
+
templates for every workflow on this page, plus a shared Python runner. File paths
|
|
2675
|
+
refer to inputs you must prepare; these are not bundled research datasets. Schema
|
|
2676
|
+
validation does not establish scientific validity or engine availability. See the
|
|
2677
|
+
<a href="../version-matrix/">version matrix</a> for release tags and publication status.</p>
|
|
2678
|
+
<h2 id="fix-structure"><code>fix-structure</code><a class="headerlink" href="#fix-structure" title="Permanent link">¶</a></h2>
|
|
2679
|
+
<p>Conservatively repairs protein hydrogens in a protein-only PDB, protein-ligand complex PDB, or existing POPC/POPE membrane system before OpenMM simulations. The tool preserves explicit protein protonation choices where possible, repairs configured membrane lipid hydrogens with OpenMM force-field templates, leaves ligands/cofactors untouched, and preserves ligand/cofactor <code>CONECT</code> records and PDB formal-charge fields by default.</p>
|
|
2680
|
+
<p>CLI:</p>
|
|
2681
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-0-1" name="__codelineno-0-1" href="#__codelineno-0-1"></a>caddforge<span class="w"> </span>run<span class="w"> </span>md<span class="w"> </span>fix-structure<span class="w"> </span>--config<span class="w"> </span>fix_structure.yaml
|
|
2682
|
+
</code></pre></div>
|
|
2683
|
+
<p>YAML:</p>
|
|
2684
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-1-1" name="__codelineno-1-1" href="#__codelineno-1-1"></a><span class="nt">backend</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">local</span>
|
|
2685
|
+
<a id="__codelineno-1-2" name="__codelineno-1-2" href="#__codelineno-1-2"></a><span class="nt">input_pdb</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">data/complex.pdb</span>
|
|
2686
|
+
<a id="__codelineno-1-3" name="__codelineno-1-3" href="#__codelineno-1-3"></a><span class="nt">forcefields</span><span class="p">:</span>
|
|
2687
|
+
<a id="__codelineno-1-4" name="__codelineno-1-4" href="#__codelineno-1-4"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">amber14-all.xml</span>
|
|
2688
|
+
<a id="__codelineno-1-5" name="__codelineno-1-5" href="#__codelineno-1-5"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">amber14/tip3p.xml</span>
|
|
2689
|
+
<a id="__codelineno-1-6" name="__codelineno-1-6" href="#__codelineno-1-6"></a><span class="nt">ph</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">7.0</span>
|
|
2690
|
+
<a id="__codelineno-1-7" name="__codelineno-1-7" href="#__codelineno-1-7"></a><span class="nt">protonation_policy</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">preserve</span>
|
|
2691
|
+
<a id="__codelineno-1-8" name="__codelineno-1-8" href="#__codelineno-1-8"></a><span class="nt">termini_policy</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">charged</span>
|
|
2692
|
+
<a id="__codelineno-1-9" name="__codelineno-1-9" href="#__codelineno-1-9"></a><span class="nt">fix_nonstandard_residues</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">auto</span>
|
|
2693
|
+
<a id="__codelineno-1-10" name="__codelineno-1-10" href="#__codelineno-1-10"></a><span class="nt">strict_all</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">false</span>
|
|
2694
|
+
<a id="__codelineno-1-11" name="__codelineno-1-11" href="#__codelineno-1-11"></a><span class="nt">membrane_lipid_resnames</span><span class="p">:</span>
|
|
2695
|
+
<a id="__codelineno-1-12" name="__codelineno-1-12" href="#__codelineno-1-12"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">POPC</span>
|
|
2696
|
+
<a id="__codelineno-1-13" name="__codelineno-1-13" href="#__codelineno-1-13"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">POPE</span>
|
|
2697
|
+
<a id="__codelineno-1-14" name="__codelineno-1-14" href="#__codelineno-1-14"></a><span class="nt">validate_openmm_system</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">auto</span>
|
|
2698
|
+
<a id="__codelineno-1-15" name="__codelineno-1-15" href="#__codelineno-1-15"></a><span class="nt">sanitize_mixed_residues</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">auto</span>
|
|
2699
|
+
<a id="__codelineno-1-16" name="__codelineno-1-16" href="#__codelineno-1-16"></a><span class="nt">preserve_conect</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">true</span>
|
|
2700
|
+
<a id="__codelineno-1-17" name="__codelineno-1-17" href="#__codelineno-1-17"></a><span class="nt">quiet</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">false</span>
|
|
2701
|
+
<a id="__codelineno-1-18" name="__codelineno-1-18" href="#__codelineno-1-18"></a><span class="nt">output_dir_name</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">output</span>
|
|
2702
|
+
<a id="__codelineno-1-19" name="__codelineno-1-19" href="#__codelineno-1-19"></a><span class="nt">output_filename</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">null</span>
|
|
2703
|
+
</code></pre></div>
|
|
2704
|
+
<p><code>validate_openmm_system: auto</code> keeps normal non-membrane behavior unchanged and runs an OpenMM <code>ForceField.createSystem()</code> validation when configured membrane lipid residues are present. <code>sanitize_mixed_residues: auto</code> separates mixed PDB residue ids and reassembles split atom records before OpenMM parsing, for example POPC records interrupted by CL/T3P records that reuse the same residue number. POPC/POPE are detected from both standard and 4-character PDB residue-name layouts. For POPC/POPE Amber-style inputs, include force fields that cover protein, lipids, water, and ions; <code>amber14-all.xml</code> includes lipid templates and <code>amber14/tip3p.xml</code> covers TIP3P water and common ions. Unmatched ligands/cofactors left untouched by this repair tool are reported in <code>repair_metadata.openmm_system_validation.ignored_unmatched_residues</code> and must still be parameterized by the downstream MD workflow.</p>
|
|
2705
|
+
<p>Python:</p>
|
|
2706
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-2-1" name="__codelineno-2-1" href="#__codelineno-2-1"></a><span class="kn">from</span><span class="w"> </span><span class="nn">caddforge.core.execution</span><span class="w"> </span><span class="kn">import</span> <span class="n">load_result_for_job</span><span class="p">,</span> <span class="n">submit_workflow</span>
|
|
2707
|
+
<a id="__codelineno-2-2" name="__codelineno-2-2" href="#__codelineno-2-2"></a><span class="kn">from</span><span class="w"> </span><span class="nn">caddforge.plugins</span><span class="w"> </span><span class="kn">import</span> <span class="n">get_tool</span>
|
|
2708
|
+
<a id="__codelineno-2-3" name="__codelineno-2-3" href="#__codelineno-2-3"></a>
|
|
2709
|
+
<a id="__codelineno-2-4" name="__codelineno-2-4" href="#__codelineno-2-4"></a><span class="n">spec</span> <span class="o">=</span> <span class="n">get_tool</span><span class="p">(</span><span class="s2">"md"</span><span class="p">,</span> <span class="s2">"fix-structure"</span><span class="p">)</span>
|
|
2710
|
+
<a id="__codelineno-2-5" name="__codelineno-2-5" href="#__codelineno-2-5"></a><span class="n">cfg</span> <span class="o">=</span> <span class="n">spec</span><span class="o">.</span><span class="n">config_cls</span><span class="p">(</span>
|
|
2711
|
+
<a id="__codelineno-2-6" name="__codelineno-2-6" href="#__codelineno-2-6"></a> <span class="n">input_pdb</span><span class="o">=</span><span class="s2">"data/complex.pdb"</span><span class="p">,</span>
|
|
2712
|
+
<a id="__codelineno-2-7" name="__codelineno-2-7" href="#__codelineno-2-7"></a> <span class="n">forcefields</span><span class="o">=</span><span class="p">[</span><span class="s2">"amber14-all.xml"</span><span class="p">,</span> <span class="s2">"amber14/tip3p.xml"</span><span class="p">],</span>
|
|
2713
|
+
<a id="__codelineno-2-8" name="__codelineno-2-8" href="#__codelineno-2-8"></a> <span class="n">backend</span><span class="o">=</span><span class="s2">"local"</span><span class="p">,</span>
|
|
2714
|
+
<a id="__codelineno-2-9" name="__codelineno-2-9" href="#__codelineno-2-9"></a><span class="p">)</span>
|
|
2715
|
+
<a id="__codelineno-2-10" name="__codelineno-2-10" href="#__codelineno-2-10"></a><span class="n">workflow</span> <span class="o">=</span> <span class="n">spec</span><span class="o">.</span><span class="n">workflow_cls</span><span class="p">(</span><span class="n">cfg</span><span class="p">)</span>
|
|
2716
|
+
<a id="__codelineno-2-11" name="__codelineno-2-11" href="#__codelineno-2-11"></a><span class="n">job</span> <span class="o">=</span> <span class="n">submit_workflow</span><span class="p">(</span>
|
|
2717
|
+
<a id="__codelineno-2-12" name="__codelineno-2-12" href="#__codelineno-2-12"></a> <span class="n">workflow</span><span class="p">,</span> <span class="n">cfg</span><span class="p">,</span> <span class="n">backend_name</span><span class="o">=</span><span class="n">cfg</span><span class="o">.</span><span class="n">backend</span><span class="p">,</span>
|
|
2718
|
+
<a id="__codelineno-2-13" name="__codelineno-2-13" href="#__codelineno-2-13"></a> <span class="n">input_ports</span><span class="o">=</span><span class="nb">tuple</span><span class="p">(</span><span class="nb">getattr</span><span class="p">(</span><span class="n">spec</span><span class="o">.</span><span class="n">plugin</span><span class="p">,</span> <span class="s2">"input_ports"</span><span class="p">,</span> <span class="p">())),</span>
|
|
2719
|
+
<a id="__codelineno-2-14" name="__codelineno-2-14" href="#__codelineno-2-14"></a><span class="p">)</span>
|
|
2720
|
+
<a id="__codelineno-2-15" name="__codelineno-2-15" href="#__codelineno-2-15"></a><span class="n">result</span> <span class="o">=</span> <span class="n">load_result_for_job</span><span class="p">(</span><span class="n">job</span><span class="p">)</span>
|
|
2721
|
+
<a id="__codelineno-2-16" name="__codelineno-2-16" href="#__codelineno-2-16"></a><span class="k">if</span> <span class="n">result</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
|
|
2722
|
+
<a id="__codelineno-2-17" name="__codelineno-2-17" href="#__codelineno-2-17"></a> <span class="nb">print</span><span class="p">(</span><span class="n">result</span><span class="o">.</span><span class="n">paths</span><span class="p">[</span><span class="s2">"output_pdb"</span><span class="p">])</span>
|
|
2723
|
+
</code></pre></div>
|
|
2724
|
+
<p>Outputs to inspect: <code>results/output/<input_stem>_fixed.pdb</code>,
|
|
2725
|
+
<code>results/result_record.json</code>. In pipelines, bind input artifact <code>structure</code> and consume output
|
|
2726
|
+
artifact <code>repaired_structure</code>.</p>
|
|
2727
|
+
<h3 id="terminal-chemistry">Terminal chemistry<a class="headerlink" href="#terminal-chemistry" title="Permanent link">¶</a></h3>
|
|
2728
|
+
<p><code>termini_policy</code> controls terminal chemistry separately from side-chain protonation:</p>
|
|
2729
|
+
<table>
|
|
2730
|
+
<thead>
|
|
2731
|
+
<tr>
|
|
2732
|
+
<th>Policy</th>
|
|
2733
|
+
<th>Behavior</th>
|
|
2734
|
+
</tr>
|
|
2735
|
+
</thead>
|
|
2736
|
+
<tbody>
|
|
2737
|
+
<tr>
|
|
2738
|
+
<td><code>charged</code> (default)</td>
|
|
2739
|
+
<td>Prepare free N-termini as positively charged and free C-termini as negatively charged, independently of pH. Repair missing terminal OXT when the backbone permits reconstruction.</td>
|
|
2740
|
+
</tr>
|
|
2741
|
+
<tr>
|
|
2742
|
+
<td><code>preserve</code></td>
|
|
2743
|
+
<td>Preserve the input terminal state and validate against the supplied force fields. Ambiguous or incomplete terminal groups fail with a residue-specific explanation.</td>
|
|
2744
|
+
</tr>
|
|
2745
|
+
<tr>
|
|
2746
|
+
<td><code>cap</code></td>
|
|
2747
|
+
<td>Add ACE/NME caps to eligible neutral or incomplete termini. Already charged or capped termini remain unchanged.</td>
|
|
2748
|
+
</tr>
|
|
2749
|
+
</tbody>
|
|
2750
|
+
</table>
|
|
2751
|
+
<p>A protonated, uncapped C-terminus (<code>–COOH</code>) is neutral. A deprotonated C-terminus
|
|
2752
|
+
(<code>–COO⁻</code>) is charged. A neutral NME cap (<code>–CONHCH₃</code>) is chemically different from
|
|
2753
|
+
an uncapped neutral acid. Capping can affect both N- and C-termini.</p>
|
|
2754
|
+
<p>Terminal policy takes precedence over <code>protonation_policy</code> <strong>only at terminal
|
|
2755
|
+
groups</strong>. Thus the default <code>charged</code> policy can remove HXT even when
|
|
2756
|
+
<code>protonation_policy: preserve</code>; unrelated residue substitutions remain forbidden.
|
|
2757
|
+
Missing terminal hydrogens can make preservation ambiguous (for example, only
|
|
2758
|
+
one H on an ordinary free N-terminus). Prepare the intended terminal state
|
|
2759
|
+
explicitly rather than relying on pH to select it in preserve mode. Hydrogen
|
|
2760
|
+
repair still fills unrelated missing hydrogens.</p>
|
|
2761
|
+
<p>Stock OpenMM <code>amber14-all.xml</code> supports standard charged termini and ACE/NME caps,
|
|
2762
|
+
but does not include a neutral uncapped <code>–COOH</code> template. To preserve that form,
|
|
2763
|
+
supply a compatible force field or additional, scientifically validated templates:</p>
|
|
2764
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-3-1" name="__codelineno-3-1" href="#__codelineno-3-1"></a><span class="nt">input_pdb</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">data/protein_with_explicit_terminal_states.pdb</span>
|
|
2765
|
+
<a id="__codelineno-3-2" name="__codelineno-3-2" href="#__codelineno-3-2"></a><span class="nt">forcefields</span><span class="p">:</span>
|
|
2766
|
+
<a id="__codelineno-3-3" name="__codelineno-3-3" href="#__codelineno-3-3"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">amber14-all.xml</span>
|
|
2767
|
+
<a id="__codelineno-3-4" name="__codelineno-3-4" href="#__codelineno-3-4"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">/absolute/path/to/your_validated_terminal_templates.xml</span>
|
|
2768
|
+
<a id="__codelineno-3-5" name="__codelineno-3-5" href="#__codelineno-3-5"></a><span class="nt">protonation_policy</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">preserve</span>
|
|
2769
|
+
<a id="__codelineno-3-6" name="__codelineno-3-6" href="#__codelineno-3-6"></a><span class="nt">termini_policy</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">preserve</span>
|
|
2770
|
+
</code></pre></div>
|
|
2771
|
+
<p>The extra XML above is user-supplied, not bundled with CADDForge. Force-field
|
|
2772
|
+
compatibility is checked; preserve mode never silently converts an unsupported
|
|
2773
|
+
neutral terminus. Setting <code>validate_openmm_system: never</code> does not disable
|
|
2774
|
+
protein/cap template matching or terminal-state validation. This feature concerns
|
|
2775
|
+
terminal states of recognized protein residues, not arbitrary modified residues.</p>
|
|
2776
|
+
<p>For standard charged preparation, set <code>termini_policy: charged</code>. For explicitly
|
|
2777
|
+
requested caps, set <code>termini_policy: cap</code>; side-chain preservation can stay enabled.
|
|
2778
|
+
Approximate reconstructed atoms and caps should be minimized before production MD.</p>
|
|
2779
|
+
<p><strong>Migration:</strong> <code>cap_neutral_termini: true</code> is a deprecated alias for
|
|
2780
|
+
<code>termini_policy: cap</code>. Combining it with an explicit different policy fails.
|
|
2781
|
+
<code>false</code> does not override the new policy. <code>fix_nonstandard_residues</code> now controls
|
|
2782
|
+
modified-residue normalization only; setting it to <code>never</code> does not disable
|
|
2783
|
+
terminal treatment. Users who previously relied on <code>protonation_policy: preserve</code>
|
|
2784
|
+
to reject terminal conversions must now also set <code>termini_policy: preserve</code>.</p>
|
|
2785
|
+
<p>The report at <code>paths.normalization</code> records requested/effective policy, original
|
|
2786
|
+
terminal evidence, normalization edits or added caps, final decisions, and
|
|
2787
|
+
validation status under <code>normalization.terminal_treatment</code>. It is retained on
|
|
2788
|
+
failure. Successful results also expose <code>repair_metadata.terminal_treatment</code>.</p>
|
|
2789
|
+
<h3 id="pipeline-example">Pipeline example<a class="headerlink" href="#pipeline-example" title="Permanent link">¶</a></h3>
|
|
2790
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-4-1" name="__codelineno-4-1" href="#__codelineno-4-1"></a><span class="nt">version</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">1</span>
|
|
2791
|
+
<a id="__codelineno-4-2" name="__codelineno-4-2" href="#__codelineno-4-2"></a><span class="nt">name</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">prepare-protein</span>
|
|
2792
|
+
<a id="__codelineno-4-3" name="__codelineno-4-3" href="#__codelineno-4-3"></a><span class="nt">stages</span><span class="p">:</span>
|
|
2793
|
+
<a id="__codelineno-4-4" name="__codelineno-4-4" href="#__codelineno-4-4"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">id</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">repair</span>
|
|
2794
|
+
<a id="__codelineno-4-5" name="__codelineno-4-5" href="#__codelineno-4-5"></a><span class="w"> </span><span class="nt">tool</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">md/fix-structure</span>
|
|
2795
|
+
<a id="__codelineno-4-6" name="__codelineno-4-6" href="#__codelineno-4-6"></a><span class="w"> </span><span class="nt">config</span><span class="p">:</span>
|
|
2796
|
+
<a id="__codelineno-4-7" name="__codelineno-4-7" href="#__codelineno-4-7"></a><span class="w"> </span><span class="nt">input_pdb</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">data/protein.pdb</span>
|
|
2797
|
+
<a id="__codelineno-4-8" name="__codelineno-4-8" href="#__codelineno-4-8"></a><span class="w"> </span><span class="nt">forcefields</span><span class="p">:</span><span class="w"> </span><span class="p p-Indicator">[</span><span class="nv">amber14-all.xml</span><span class="p p-Indicator">,</span><span class="w"> </span><span class="nv">amber14/tip3p.xml</span><span class="p p-Indicator">]</span>
|
|
2798
|
+
<a id="__codelineno-4-9" name="__codelineno-4-9" href="#__codelineno-4-9"></a><span class="w"> </span><span class="nt">protonation_policy</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">preserve</span>
|
|
2799
|
+
<a id="__codelineno-4-10" name="__codelineno-4-10" href="#__codelineno-4-10"></a><span class="w"> </span><span class="nt">termini_policy</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">charged</span>
|
|
2800
|
+
<a id="__codelineno-4-11" name="__codelineno-4-11" href="#__codelineno-4-11"></a><span class="w"> </span><span class="nt">outputs</span><span class="p">:</span>
|
|
2801
|
+
<a id="__codelineno-4-12" name="__codelineno-4-12" href="#__codelineno-4-12"></a><span class="w"> </span><span class="nt">protein</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">output_pdb</span>
|
|
2802
|
+
<a id="__codelineno-4-13" name="__codelineno-4-13" href="#__codelineno-4-13"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">id</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">cleanup</span>
|
|
2803
|
+
<a id="__codelineno-4-14" name="__codelineno-4-14" href="#__codelineno-4-14"></a><span class="w"> </span><span class="nt">tool</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">md/minimize</span>
|
|
2804
|
+
<a id="__codelineno-4-15" name="__codelineno-4-15" href="#__codelineno-4-15"></a><span class="w"> </span><span class="nt">inputs</span><span class="p">:</span>
|
|
2805
|
+
<a id="__codelineno-4-16" name="__codelineno-4-16" href="#__codelineno-4-16"></a><span class="w"> </span><span class="nt">protein</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">repair.protein</span>
|
|
2806
|
+
<a id="__codelineno-4-17" name="__codelineno-4-17" href="#__codelineno-4-17"></a><span class="w"> </span><span class="nt">config</span><span class="p">:</span>
|
|
2807
|
+
<a id="__codelineno-4-18" name="__codelineno-4-18" href="#__codelineno-4-18"></a><span class="w"> </span><span class="nt">ligand_path</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">data/ligand.sdf</span>
|
|
2808
|
+
<a id="__codelineno-4-19" name="__codelineno-4-19" href="#__codelineno-4-19"></a><span class="w"> </span><span class="nt">mode</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">ligand_only</span>
|
|
2809
|
+
</code></pre></div>
|
|
2810
|
+
<p>The input must be a protein-only receptor for this example; ligand chemistry is
|
|
2811
|
+
supplied separately to <code>minimize</code>. The repair tool's existing input port
|
|
2812
|
+
<code>structure</code> and output port <code>repaired_structure</code> are unchanged. The explicit
|
|
2813
|
+
<code>protein: output_pdb</code> output alias above binds the same PDB for the next stage.</p>
|
|
2814
|
+
<h2 id="center-and-align"><code>center-and-align</code><a class="headerlink" href="#center-and-align" title="Permanent link">¶</a></h2>
|
|
2815
|
+
<p>Centers, wraps, optionally aligns, and writes a processed trajectory.</p>
|
|
2816
|
+
<p>CLI:</p>
|
|
2817
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-5-1" name="__codelineno-5-1" href="#__codelineno-5-1"></a>caddforge<span class="w"> </span>run<span class="w"> </span>md<span class="w"> </span>center-and-align<span class="w"> </span>--config<span class="w"> </span>center_and_align.yaml
|
|
2818
|
+
</code></pre></div>
|
|
2819
|
+
<p>YAML:</p>
|
|
2820
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-6-1" name="__codelineno-6-1" href="#__codelineno-6-1"></a><span class="nt">backend</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">local</span>
|
|
2821
|
+
<a id="__codelineno-6-2" name="__codelineno-6-2" href="#__codelineno-6-2"></a><span class="nt">topology_path</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">data/system.pdb</span>
|
|
2822
|
+
<a id="__codelineno-6-3" name="__codelineno-6-3" href="#__codelineno-6-3"></a><span class="nt">trajectory_path</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">data/traj.xtc</span>
|
|
2823
|
+
<a id="__codelineno-6-4" name="__codelineno-6-4" href="#__codelineno-6-4"></a><span class="nt">center_selection</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">protein or resname MOL</span>
|
|
2824
|
+
<a id="__codelineno-6-5" name="__codelineno-6-5" href="#__codelineno-6-5"></a><span class="nt">keep_selection</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">protein or resname MOL</span>
|
|
2825
|
+
<a id="__codelineno-6-6" name="__codelineno-6-6" href="#__codelineno-6-6"></a><span class="nt">align_selection</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">protein and backbone</span>
|
|
2826
|
+
<a id="__codelineno-6-7" name="__codelineno-6-7" href="#__codelineno-6-7"></a><span class="nt">unwrap</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">true</span>
|
|
2827
|
+
<a id="__codelineno-6-8" name="__codelineno-6-8" href="#__codelineno-6-8"></a><span class="nt">center</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">true</span>
|
|
2828
|
+
<a id="__codelineno-6-9" name="__codelineno-6-9" href="#__codelineno-6-9"></a><span class="nt">wrap</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">true</span>
|
|
2829
|
+
<a id="__codelineno-6-10" name="__codelineno-6-10" href="#__codelineno-6-10"></a><span class="nt">center_mode</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">geometry</span>
|
|
2830
|
+
<a id="__codelineno-6-11" name="__codelineno-6-11" href="#__codelineno-6-11"></a><span class="nt">wrap_compound</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">residues</span>
|
|
2831
|
+
<a id="__codelineno-6-12" name="__codelineno-6-12" href="#__codelineno-6-12"></a><span class="nt">align_weights</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">mass</span>
|
|
2832
|
+
<a id="__codelineno-6-13" name="__codelineno-6-13" href="#__codelineno-6-13"></a><span class="nt">output_dir_name</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">output</span>
|
|
2833
|
+
<a id="__codelineno-6-14" name="__codelineno-6-14" href="#__codelineno-6-14"></a><span class="nt">output_trajectory_filename</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">traj-centered.xtc</span>
|
|
2834
|
+
<a id="__codelineno-6-15" name="__codelineno-6-15" href="#__codelineno-6-15"></a><span class="nt">output_structure_filename</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">traj-centered.pdb</span>
|
|
2835
|
+
</code></pre></div>
|
|
2836
|
+
<p>Python:</p>
|
|
2837
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-7-1" name="__codelineno-7-1" href="#__codelineno-7-1"></a><span class="kn">from</span><span class="w"> </span><span class="nn">caddforge.core.execution</span><span class="w"> </span><span class="kn">import</span> <span class="n">load_result_for_job</span><span class="p">,</span> <span class="n">submit_workflow</span>
|
|
2838
|
+
<a id="__codelineno-7-2" name="__codelineno-7-2" href="#__codelineno-7-2"></a><span class="kn">from</span><span class="w"> </span><span class="nn">caddforge.plugins</span><span class="w"> </span><span class="kn">import</span> <span class="n">get_tool</span>
|
|
2839
|
+
<a id="__codelineno-7-3" name="__codelineno-7-3" href="#__codelineno-7-3"></a>
|
|
2840
|
+
<a id="__codelineno-7-4" name="__codelineno-7-4" href="#__codelineno-7-4"></a><span class="n">spec</span> <span class="o">=</span> <span class="n">get_tool</span><span class="p">(</span><span class="s2">"md"</span><span class="p">,</span> <span class="s2">"center-and-align"</span><span class="p">)</span>
|
|
2841
|
+
<a id="__codelineno-7-5" name="__codelineno-7-5" href="#__codelineno-7-5"></a><span class="n">cfg</span> <span class="o">=</span> <span class="n">spec</span><span class="o">.</span><span class="n">config_cls</span><span class="p">(</span>
|
|
2842
|
+
<a id="__codelineno-7-6" name="__codelineno-7-6" href="#__codelineno-7-6"></a> <span class="n">topology_path</span><span class="o">=</span><span class="s2">"data/system.pdb"</span><span class="p">,</span>
|
|
2843
|
+
<a id="__codelineno-7-7" name="__codelineno-7-7" href="#__codelineno-7-7"></a> <span class="n">trajectory_path</span><span class="o">=</span><span class="s2">"data/traj.xtc"</span><span class="p">,</span>
|
|
2844
|
+
<a id="__codelineno-7-8" name="__codelineno-7-8" href="#__codelineno-7-8"></a> <span class="n">center_selection</span><span class="o">=</span><span class="s2">"protein or resname MOL"</span><span class="p">,</span>
|
|
2845
|
+
<a id="__codelineno-7-9" name="__codelineno-7-9" href="#__codelineno-7-9"></a> <span class="n">keep_selection</span><span class="o">=</span><span class="s2">"protein or resname MOL"</span><span class="p">,</span>
|
|
2846
|
+
<a id="__codelineno-7-10" name="__codelineno-7-10" href="#__codelineno-7-10"></a> <span class="n">align_selection</span><span class="o">=</span><span class="s2">"protein and backbone"</span><span class="p">,</span>
|
|
2847
|
+
<a id="__codelineno-7-11" name="__codelineno-7-11" href="#__codelineno-7-11"></a> <span class="n">backend</span><span class="o">=</span><span class="s2">"local"</span><span class="p">,</span>
|
|
2848
|
+
<a id="__codelineno-7-12" name="__codelineno-7-12" href="#__codelineno-7-12"></a><span class="p">)</span>
|
|
2849
|
+
<a id="__codelineno-7-13" name="__codelineno-7-13" href="#__codelineno-7-13"></a><span class="n">workflow</span> <span class="o">=</span> <span class="n">spec</span><span class="o">.</span><span class="n">workflow_cls</span><span class="p">(</span><span class="n">cfg</span><span class="p">)</span>
|
|
2850
|
+
<a id="__codelineno-7-14" name="__codelineno-7-14" href="#__codelineno-7-14"></a><span class="n">job</span> <span class="o">=</span> <span class="n">submit_workflow</span><span class="p">(</span>
|
|
2851
|
+
<a id="__codelineno-7-15" name="__codelineno-7-15" href="#__codelineno-7-15"></a> <span class="n">workflow</span><span class="p">,</span> <span class="n">cfg</span><span class="p">,</span> <span class="n">backend_name</span><span class="o">=</span><span class="n">cfg</span><span class="o">.</span><span class="n">backend</span><span class="p">,</span>
|
|
2852
|
+
<a id="__codelineno-7-16" name="__codelineno-7-16" href="#__codelineno-7-16"></a> <span class="n">input_ports</span><span class="o">=</span><span class="nb">tuple</span><span class="p">(</span><span class="nb">getattr</span><span class="p">(</span><span class="n">spec</span><span class="o">.</span><span class="n">plugin</span><span class="p">,</span> <span class="s2">"input_ports"</span><span class="p">,</span> <span class="p">())),</span>
|
|
2853
|
+
<a id="__codelineno-7-17" name="__codelineno-7-17" href="#__codelineno-7-17"></a><span class="p">)</span>
|
|
2854
|
+
<a id="__codelineno-7-18" name="__codelineno-7-18" href="#__codelineno-7-18"></a><span class="n">result</span> <span class="o">=</span> <span class="n">load_result_for_job</span><span class="p">(</span><span class="n">job</span><span class="p">)</span>
|
|
2855
|
+
<a id="__codelineno-7-19" name="__codelineno-7-19" href="#__codelineno-7-19"></a><span class="k">if</span> <span class="n">result</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
|
|
2856
|
+
<a id="__codelineno-7-20" name="__codelineno-7-20" href="#__codelineno-7-20"></a> <span class="nb">print</span><span class="p">(</span><span class="n">result</span><span class="o">.</span><span class="n">paths</span><span class="p">)</span>
|
|
2857
|
+
</code></pre></div>
|
|
2858
|
+
<p>Outputs to inspect: <code>results/output/<trajectory></code>, <code>results/output/<structure></code>,
|
|
2859
|
+
<code>results/result_record.json</code>.</p>
|
|
2860
|
+
<h2 id="extract-frames"><code>extract-frames</code><a class="headerlink" href="#extract-frames" title="Permanent link">¶</a></h2>
|
|
2861
|
+
<p>Extracts one or more frames from a trajectory. For multi-frame selections it writes a sliced
|
|
2862
|
+
trajectory and a first selected-frame structure; for single-frame selections it writes only
|
|
2863
|
+
structure-style outputs.</p>
|
|
2864
|
+
<p>CLI:</p>
|
|
2865
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-8-1" name="__codelineno-8-1" href="#__codelineno-8-1"></a>caddforge<span class="w"> </span>run<span class="w"> </span>md<span class="w"> </span>extract-frames<span class="w"> </span>--config<span class="w"> </span>extract_frames.yaml
|
|
2866
|
+
</code></pre></div>
|
|
2867
|
+
<p>YAML:</p>
|
|
2868
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-9-1" name="__codelineno-9-1" href="#__codelineno-9-1"></a><span class="nt">backend</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">local</span>
|
|
2869
|
+
<a id="__codelineno-9-2" name="__codelineno-9-2" href="#__codelineno-9-2"></a><span class="nt">topology_path</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">data/traj-centered.pdb</span>
|
|
2870
|
+
<a id="__codelineno-9-3" name="__codelineno-9-3" href="#__codelineno-9-3"></a><span class="nt">trajectory_path</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">data/traj-centered.xtc</span>
|
|
2871
|
+
<a id="__codelineno-9-4" name="__codelineno-9-4" href="#__codelineno-9-4"></a><span class="nt">ligand_template_sdf</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">data/template.sdf</span>
|
|
2872
|
+
<a id="__codelineno-9-5" name="__codelineno-9-5" href="#__codelineno-9-5"></a><span class="nt">ligand_resname</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">UNK</span>
|
|
2873
|
+
<a id="__codelineno-9-6" name="__codelineno-9-6" href="#__codelineno-9-6"></a><span class="nt">extract_selection</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">protein or resname UNK</span>
|
|
2874
|
+
<a id="__codelineno-9-7" name="__codelineno-9-7" href="#__codelineno-9-7"></a><span class="nt">frame_index</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">null</span>
|
|
2875
|
+
<a id="__codelineno-9-8" name="__codelineno-9-8" href="#__codelineno-9-8"></a><span class="nt">last_ns</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">10.0</span>
|
|
2876
|
+
<a id="__codelineno-9-9" name="__codelineno-9-9" href="#__codelineno-9-9"></a><span class="nt">frame_slice</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">null</span>
|
|
2877
|
+
<a id="__codelineno-9-10" name="__codelineno-9-10" href="#__codelineno-9-10"></a><span class="nt">write_per_frame_pdbs</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">false</span>
|
|
2878
|
+
<a id="__codelineno-9-11" name="__codelineno-9-11" href="#__codelineno-9-11"></a><span class="nt">output_dir_name</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">output</span>
|
|
2879
|
+
<a id="__codelineno-9-12" name="__codelineno-9-12" href="#__codelineno-9-12"></a><span class="nt">output_trajectory_filename</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">last-10ns.xtc</span>
|
|
2880
|
+
<a id="__codelineno-9-13" name="__codelineno-9-13" href="#__codelineno-9-13"></a><span class="nt">output_structure_filename</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">last-10ns_first_complex.pdb</span>
|
|
2881
|
+
<a id="__codelineno-9-14" name="__codelineno-9-14" href="#__codelineno-9-14"></a><span class="nt">protein_trajectory_filename</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">last-10ns_protein.xtc</span>
|
|
2882
|
+
<a id="__codelineno-9-15" name="__codelineno-9-15" href="#__codelineno-9-15"></a><span class="nt">protein_structure_filename</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">last-10ns_first_protein.pdb</span>
|
|
2883
|
+
<a id="__codelineno-9-16" name="__codelineno-9-16" href="#__codelineno-9-16"></a><span class="nt">ligand_sdf_filename</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">last-10ns_first_ligand.sdf</span>
|
|
2884
|
+
</code></pre></div>
|
|
2885
|
+
<p>Use exactly one frame-selection mode. A Python-style slice is written as:</p>
|
|
2886
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-10-1" name="__codelineno-10-1" href="#__codelineno-10-1"></a><span class="nt">frame_index</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">null</span>
|
|
2887
|
+
<a id="__codelineno-10-2" name="__codelineno-10-2" href="#__codelineno-10-2"></a><span class="nt">last_ns</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">null</span>
|
|
2888
|
+
<a id="__codelineno-10-3" name="__codelineno-10-3" href="#__codelineno-10-3"></a><span class="nt">frame_slice</span><span class="p">:</span>
|
|
2889
|
+
<a id="__codelineno-10-4" name="__codelineno-10-4" href="#__codelineno-10-4"></a><span class="w"> </span><span class="nt">start</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">100</span>
|
|
2890
|
+
<a id="__codelineno-10-5" name="__codelineno-10-5" href="#__codelineno-10-5"></a><span class="w"> </span><span class="nt">stop</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">1000</span>
|
|
2891
|
+
<a id="__codelineno-10-6" name="__codelineno-10-6" href="#__codelineno-10-6"></a><span class="w"> </span><span class="nt">step</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">10</span>
|
|
2892
|
+
</code></pre></div>
|
|
2893
|
+
<p>Python:</p>
|
|
2894
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-11-1" name="__codelineno-11-1" href="#__codelineno-11-1"></a><span class="kn">from</span><span class="w"> </span><span class="nn">caddforge.core.execution</span><span class="w"> </span><span class="kn">import</span> <span class="n">load_result_for_job</span><span class="p">,</span> <span class="n">submit_workflow</span>
|
|
2895
|
+
<a id="__codelineno-11-2" name="__codelineno-11-2" href="#__codelineno-11-2"></a><span class="kn">from</span><span class="w"> </span><span class="nn">caddforge.plugins</span><span class="w"> </span><span class="kn">import</span> <span class="n">get_tool</span>
|
|
2896
|
+
<a id="__codelineno-11-3" name="__codelineno-11-3" href="#__codelineno-11-3"></a>
|
|
2897
|
+
<a id="__codelineno-11-4" name="__codelineno-11-4" href="#__codelineno-11-4"></a><span class="n">spec</span> <span class="o">=</span> <span class="n">get_tool</span><span class="p">(</span><span class="s2">"md"</span><span class="p">,</span> <span class="s2">"extract-frames"</span><span class="p">)</span>
|
|
2898
|
+
<a id="__codelineno-11-5" name="__codelineno-11-5" href="#__codelineno-11-5"></a><span class="n">cfg</span> <span class="o">=</span> <span class="n">spec</span><span class="o">.</span><span class="n">config_cls</span><span class="p">(</span>
|
|
2899
|
+
<a id="__codelineno-11-6" name="__codelineno-11-6" href="#__codelineno-11-6"></a> <span class="n">topology_path</span><span class="o">=</span><span class="s2">"data/traj-centered.pdb"</span><span class="p">,</span>
|
|
2900
|
+
<a id="__codelineno-11-7" name="__codelineno-11-7" href="#__codelineno-11-7"></a> <span class="n">trajectory_path</span><span class="o">=</span><span class="s2">"data/traj-centered.xtc"</span><span class="p">,</span>
|
|
2901
|
+
<a id="__codelineno-11-8" name="__codelineno-11-8" href="#__codelineno-11-8"></a> <span class="n">ligand_template_sdf</span><span class="o">=</span><span class="s2">"data/template.sdf"</span><span class="p">,</span>
|
|
2902
|
+
<a id="__codelineno-11-9" name="__codelineno-11-9" href="#__codelineno-11-9"></a> <span class="n">ligand_resname</span><span class="o">=</span><span class="s2">"UNK"</span><span class="p">,</span>
|
|
2903
|
+
<a id="__codelineno-11-10" name="__codelineno-11-10" href="#__codelineno-11-10"></a> <span class="n">extract_selection</span><span class="o">=</span><span class="s2">"protein or resname UNK"</span><span class="p">,</span>
|
|
2904
|
+
<a id="__codelineno-11-11" name="__codelineno-11-11" href="#__codelineno-11-11"></a> <span class="n">last_ns</span><span class="o">=</span><span class="mf">10.0</span><span class="p">,</span>
|
|
2905
|
+
<a id="__codelineno-11-12" name="__codelineno-11-12" href="#__codelineno-11-12"></a> <span class="n">backend</span><span class="o">=</span><span class="s2">"local"</span><span class="p">,</span>
|
|
2906
|
+
<a id="__codelineno-11-13" name="__codelineno-11-13" href="#__codelineno-11-13"></a><span class="p">)</span>
|
|
2907
|
+
<a id="__codelineno-11-14" name="__codelineno-11-14" href="#__codelineno-11-14"></a><span class="n">workflow</span> <span class="o">=</span> <span class="n">spec</span><span class="o">.</span><span class="n">workflow_cls</span><span class="p">(</span><span class="n">cfg</span><span class="p">)</span>
|
|
2908
|
+
<a id="__codelineno-11-15" name="__codelineno-11-15" href="#__codelineno-11-15"></a><span class="n">job</span> <span class="o">=</span> <span class="n">submit_workflow</span><span class="p">(</span>
|
|
2909
|
+
<a id="__codelineno-11-16" name="__codelineno-11-16" href="#__codelineno-11-16"></a> <span class="n">workflow</span><span class="p">,</span> <span class="n">cfg</span><span class="p">,</span> <span class="n">backend_name</span><span class="o">=</span><span class="n">cfg</span><span class="o">.</span><span class="n">backend</span><span class="p">,</span>
|
|
2910
|
+
<a id="__codelineno-11-17" name="__codelineno-11-17" href="#__codelineno-11-17"></a> <span class="n">input_ports</span><span class="o">=</span><span class="nb">tuple</span><span class="p">(</span><span class="nb">getattr</span><span class="p">(</span><span class="n">spec</span><span class="o">.</span><span class="n">plugin</span><span class="p">,</span> <span class="s2">"input_ports"</span><span class="p">,</span> <span class="p">())),</span>
|
|
2911
|
+
<a id="__codelineno-11-18" name="__codelineno-11-18" href="#__codelineno-11-18"></a><span class="p">)</span>
|
|
2912
|
+
<a id="__codelineno-11-19" name="__codelineno-11-19" href="#__codelineno-11-19"></a><span class="n">result</span> <span class="o">=</span> <span class="n">load_result_for_job</span><span class="p">(</span><span class="n">job</span><span class="p">)</span>
|
|
2913
|
+
<a id="__codelineno-11-20" name="__codelineno-11-20" href="#__codelineno-11-20"></a><span class="k">if</span> <span class="n">result</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
|
|
2914
|
+
<a id="__codelineno-11-21" name="__codelineno-11-21" href="#__codelineno-11-21"></a> <span class="nb">print</span><span class="p">(</span><span class="n">result</span><span class="o">.</span><span class="n">paths</span><span class="p">)</span>
|
|
2915
|
+
</code></pre></div>
|
|
2916
|
+
<p>Outputs to inspect: <code>results/output/<structure></code>, optional <code>results/output/<trajectory></code> for
|
|
2917
|
+
multi-frame selections, optional protein-only outputs, optional corrected ligand SDF,
|
|
2918
|
+
<code>results/output/frame_manifest.json</code>, <code>results/result_record.json</code>.</p>
|
|
2919
|
+
<h2 id="cluster-representative"><code>cluster-representative</code><a class="headerlink" href="#cluster-representative" title="Permanent link">¶</a></h2>
|
|
2920
|
+
<p>Clusters selected trajectory frames and writes the medoid of the largest cluster. By default,
|
|
2921
|
+
ligand systems cluster on ligand heavy atoms when <code>ligand_resname</code> is provided, while
|
|
2922
|
+
<code>extract_selection</code> controls the atoms written to the representative complex PDB.</p>
|
|
2923
|
+
<p>CLI:</p>
|
|
2924
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-12-1" name="__codelineno-12-1" href="#__codelineno-12-1"></a>caddforge<span class="w"> </span>run<span class="w"> </span>md<span class="w"> </span>cluster-representative<span class="w"> </span>--config<span class="w"> </span>cluster_representative.yaml
|
|
2925
|
+
</code></pre></div>
|
|
2926
|
+
<p>YAML:</p>
|
|
2927
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-13-1" name="__codelineno-13-1" href="#__codelineno-13-1"></a><span class="nt">backend</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">local</span>
|
|
2928
|
+
<a id="__codelineno-13-2" name="__codelineno-13-2" href="#__codelineno-13-2"></a><span class="nt">topology_path</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">data/traj-centered.pdb</span>
|
|
2929
|
+
<a id="__codelineno-13-3" name="__codelineno-13-3" href="#__codelineno-13-3"></a><span class="nt">trajectory_path</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">data/traj-centered.xtc</span>
|
|
2930
|
+
<a id="__codelineno-13-4" name="__codelineno-13-4" href="#__codelineno-13-4"></a><span class="nt">ligand_template_sdf</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">data/template.sdf</span>
|
|
2931
|
+
<a id="__codelineno-13-5" name="__codelineno-13-5" href="#__codelineno-13-5"></a><span class="nt">ligand_resname</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">UNK</span>
|
|
2932
|
+
<a id="__codelineno-13-6" name="__codelineno-13-6" href="#__codelineno-13-6"></a><span class="nt">cluster_selection</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">null</span>
|
|
2933
|
+
<a id="__codelineno-13-7" name="__codelineno-13-7" href="#__codelineno-13-7"></a><span class="nt">extract_selection</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">protein or resname UNK</span>
|
|
2934
|
+
<a id="__codelineno-13-8" name="__codelineno-13-8" href="#__codelineno-13-8"></a><span class="nt">last_ns</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">10.0</span>
|
|
2935
|
+
<a id="__codelineno-13-9" name="__codelineno-13-9" href="#__codelineno-13-9"></a><span class="nt">frame_slice</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">null</span>
|
|
2936
|
+
<a id="__codelineno-13-10" name="__codelineno-13-10" href="#__codelineno-13-10"></a><span class="nt">distance_threshold_nm</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">0.2</span>
|
|
2937
|
+
<a id="__codelineno-13-11" name="__codelineno-13-11" href="#__codelineno-13-11"></a><span class="nt">output_dir_name</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">output</span>
|
|
2938
|
+
<a id="__codelineno-13-12" name="__codelineno-13-12" href="#__codelineno-13-12"></a><span class="nt">output_complex_filename</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">largest_cluster_representative_complex.pdb</span>
|
|
2939
|
+
<a id="__codelineno-13-13" name="__codelineno-13-13" href="#__codelineno-13-13"></a><span class="nt">output_protein_filename</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">largest_cluster_representative_protein.pdb</span>
|
|
2940
|
+
<a id="__codelineno-13-14" name="__codelineno-13-14" href="#__codelineno-13-14"></a><span class="nt">output_ligand_sdf_filename</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">largest_cluster_representative_ligand.sdf</span>
|
|
2941
|
+
<a id="__codelineno-13-15" name="__codelineno-13-15" href="#__codelineno-13-15"></a><span class="nt">clustering_summary_filename</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">clustering_summary.json</span>
|
|
2942
|
+
</code></pre></div>
|
|
2943
|
+
<p>For slice-based clustering, replace <code>last_ns</code> with:</p>
|
|
2944
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-14-1" name="__codelineno-14-1" href="#__codelineno-14-1"></a><span class="nt">last_ns</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">null</span>
|
|
2945
|
+
<a id="__codelineno-14-2" name="__codelineno-14-2" href="#__codelineno-14-2"></a><span class="nt">frame_slice</span><span class="p">:</span>
|
|
2946
|
+
<a id="__codelineno-14-3" name="__codelineno-14-3" href="#__codelineno-14-3"></a><span class="w"> </span><span class="nt">start</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">1000</span>
|
|
2947
|
+
<a id="__codelineno-14-4" name="__codelineno-14-4" href="#__codelineno-14-4"></a><span class="w"> </span><span class="nt">stop</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">null</span>
|
|
2948
|
+
<a id="__codelineno-14-5" name="__codelineno-14-5" href="#__codelineno-14-5"></a><span class="w"> </span><span class="nt">step</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">5</span>
|
|
2949
|
+
</code></pre></div>
|
|
2950
|
+
<p>Python:</p>
|
|
2951
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-15-1" name="__codelineno-15-1" href="#__codelineno-15-1"></a><span class="kn">from</span><span class="w"> </span><span class="nn">caddforge.core.execution</span><span class="w"> </span><span class="kn">import</span> <span class="n">load_result_for_job</span><span class="p">,</span> <span class="n">submit_workflow</span>
|
|
2952
|
+
<a id="__codelineno-15-2" name="__codelineno-15-2" href="#__codelineno-15-2"></a><span class="kn">from</span><span class="w"> </span><span class="nn">caddforge.plugins</span><span class="w"> </span><span class="kn">import</span> <span class="n">get_tool</span>
|
|
2953
|
+
<a id="__codelineno-15-3" name="__codelineno-15-3" href="#__codelineno-15-3"></a>
|
|
2954
|
+
<a id="__codelineno-15-4" name="__codelineno-15-4" href="#__codelineno-15-4"></a><span class="n">spec</span> <span class="o">=</span> <span class="n">get_tool</span><span class="p">(</span><span class="s2">"md"</span><span class="p">,</span> <span class="s2">"cluster-representative"</span><span class="p">)</span>
|
|
2955
|
+
<a id="__codelineno-15-5" name="__codelineno-15-5" href="#__codelineno-15-5"></a><span class="n">cfg</span> <span class="o">=</span> <span class="n">spec</span><span class="o">.</span><span class="n">config_cls</span><span class="p">(</span>
|
|
2956
|
+
<a id="__codelineno-15-6" name="__codelineno-15-6" href="#__codelineno-15-6"></a> <span class="n">topology_path</span><span class="o">=</span><span class="s2">"data/traj-centered.pdb"</span><span class="p">,</span>
|
|
2957
|
+
<a id="__codelineno-15-7" name="__codelineno-15-7" href="#__codelineno-15-7"></a> <span class="n">trajectory_path</span><span class="o">=</span><span class="s2">"data/traj-centered.xtc"</span><span class="p">,</span>
|
|
2958
|
+
<a id="__codelineno-15-8" name="__codelineno-15-8" href="#__codelineno-15-8"></a> <span class="n">ligand_template_sdf</span><span class="o">=</span><span class="s2">"data/template.sdf"</span><span class="p">,</span>
|
|
2959
|
+
<a id="__codelineno-15-9" name="__codelineno-15-9" href="#__codelineno-15-9"></a> <span class="n">ligand_resname</span><span class="o">=</span><span class="s2">"UNK"</span><span class="p">,</span>
|
|
2960
|
+
<a id="__codelineno-15-10" name="__codelineno-15-10" href="#__codelineno-15-10"></a> <span class="n">extract_selection</span><span class="o">=</span><span class="s2">"protein or resname UNK"</span><span class="p">,</span>
|
|
2961
|
+
<a id="__codelineno-15-11" name="__codelineno-15-11" href="#__codelineno-15-11"></a> <span class="n">last_ns</span><span class="o">=</span><span class="mf">10.0</span><span class="p">,</span>
|
|
2962
|
+
<a id="__codelineno-15-12" name="__codelineno-15-12" href="#__codelineno-15-12"></a> <span class="n">distance_threshold_nm</span><span class="o">=</span><span class="mf">0.2</span><span class="p">,</span>
|
|
2963
|
+
<a id="__codelineno-15-13" name="__codelineno-15-13" href="#__codelineno-15-13"></a> <span class="n">backend</span><span class="o">=</span><span class="s2">"local"</span><span class="p">,</span>
|
|
2964
|
+
<a id="__codelineno-15-14" name="__codelineno-15-14" href="#__codelineno-15-14"></a><span class="p">)</span>
|
|
2965
|
+
<a id="__codelineno-15-15" name="__codelineno-15-15" href="#__codelineno-15-15"></a><span class="n">workflow</span> <span class="o">=</span> <span class="n">spec</span><span class="o">.</span><span class="n">workflow_cls</span><span class="p">(</span><span class="n">cfg</span><span class="p">)</span>
|
|
2966
|
+
<a id="__codelineno-15-16" name="__codelineno-15-16" href="#__codelineno-15-16"></a><span class="n">job</span> <span class="o">=</span> <span class="n">submit_workflow</span><span class="p">(</span>
|
|
2967
|
+
<a id="__codelineno-15-17" name="__codelineno-15-17" href="#__codelineno-15-17"></a> <span class="n">workflow</span><span class="p">,</span> <span class="n">cfg</span><span class="p">,</span> <span class="n">backend_name</span><span class="o">=</span><span class="n">cfg</span><span class="o">.</span><span class="n">backend</span><span class="p">,</span>
|
|
2968
|
+
<a id="__codelineno-15-18" name="__codelineno-15-18" href="#__codelineno-15-18"></a> <span class="n">input_ports</span><span class="o">=</span><span class="nb">tuple</span><span class="p">(</span><span class="nb">getattr</span><span class="p">(</span><span class="n">spec</span><span class="o">.</span><span class="n">plugin</span><span class="p">,</span> <span class="s2">"input_ports"</span><span class="p">,</span> <span class="p">())),</span>
|
|
2969
|
+
<a id="__codelineno-15-19" name="__codelineno-15-19" href="#__codelineno-15-19"></a><span class="p">)</span>
|
|
2970
|
+
<a id="__codelineno-15-20" name="__codelineno-15-20" href="#__codelineno-15-20"></a><span class="n">result</span> <span class="o">=</span> <span class="n">load_result_for_job</span><span class="p">(</span><span class="n">job</span><span class="p">)</span>
|
|
2971
|
+
<a id="__codelineno-15-21" name="__codelineno-15-21" href="#__codelineno-15-21"></a><span class="k">if</span> <span class="n">result</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
|
|
2972
|
+
<a id="__codelineno-15-22" name="__codelineno-15-22" href="#__codelineno-15-22"></a> <span class="nb">print</span><span class="p">(</span><span class="n">result</span><span class="o">.</span><span class="n">metrics</span><span class="p">)</span>
|
|
2973
|
+
</code></pre></div>
|
|
2974
|
+
<p>Outputs to inspect: <code>results/output/largest_cluster_representative_complex.pdb</code>, optional
|
|
2975
|
+
<code>results/output/largest_cluster_representative_protein.pdb</code>, optional corrected ligand SDF,
|
|
2976
|
+
<code>results/output/clustering_summary.json</code>, <code>results/result_record.json</code>.</p>
|
|
2977
|
+
<h2 id="plain-md"><code>plain-md</code><a class="headerlink" href="#plain-md" title="Permanent link">¶</a></h2>
|
|
2978
|
+
<p>Runs a standard OpenMM simulation, with optional OpenFF/SMIRNOFF parameterization for non-standard
|
|
2979
|
+
molecules. For already complete systems, <code>system_preparation_mode: prepared</code> skips hydrogen,
|
|
2980
|
+
solvent, and ion addition and builds a snug periodic box around the provided atoms. Membrane
|
|
2981
|
+
systems can use OpenMM's membrane-specific barostat with <code>barostat: membrane</code>.</p>
|
|
2982
|
+
<p>CLI:</p>
|
|
2983
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-16-1" name="__codelineno-16-1" href="#__codelineno-16-1"></a>caddforge<span class="w"> </span>run<span class="w"> </span>md<span class="w"> </span>plain-md<span class="w"> </span>--config<span class="w"> </span>plain_md.yaml
|
|
2984
|
+
<a id="__codelineno-16-2" name="__codelineno-16-2" href="#__codelineno-16-2"></a>caddforge<span class="w"> </span>run<span class="w"> </span>md<span class="w"> </span>plain-md<span class="w"> </span>--config<span class="w"> </span>plain_md.yaml<span class="w"> </span>--backend<span class="w"> </span>slurm<span class="w"> </span>--slurm-time<span class="w"> </span><span class="m">24</span>:00:00
|
|
2985
|
+
</code></pre></div>
|
|
2986
|
+
<p>YAML:</p>
|
|
2987
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-17-1" name="__codelineno-17-1" href="#__codelineno-17-1"></a><span class="nt">backend</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">local</span>
|
|
2988
|
+
<a id="__codelineno-17-2" name="__codelineno-17-2" href="#__codelineno-17-2"></a><span class="nt">system_pdb_path</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">data/system.pdb</span>
|
|
2989
|
+
<a id="__codelineno-17-3" name="__codelineno-17-3" href="#__codelineno-17-3"></a><span class="nt">molecule_sdf_paths</span><span class="p">:</span>
|
|
2990
|
+
<a id="__codelineno-17-4" name="__codelineno-17-4" href="#__codelineno-17-4"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">data/ligand.sdf</span>
|
|
2991
|
+
<a id="__codelineno-17-5" name="__codelineno-17-5" href="#__codelineno-17-5"></a><span class="nt">ph</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">7.4</span>
|
|
2992
|
+
<a id="__codelineno-17-6" name="__codelineno-17-6" href="#__codelineno-17-6"></a><span class="nt">system_preparation_mode</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">solvate</span>
|
|
2993
|
+
<a id="__codelineno-17-7" name="__codelineno-17-7" href="#__codelineno-17-7"></a><span class="nt">padding</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">1.0</span>
|
|
2994
|
+
<a id="__codelineno-17-8" name="__codelineno-17-8" href="#__codelineno-17-8"></a><span class="nt">ionic_strength</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">0.15</span>
|
|
2995
|
+
<a id="__codelineno-17-9" name="__codelineno-17-9" href="#__codelineno-17-9"></a><span class="nt">prepared_box_margin</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">0.0</span>
|
|
2996
|
+
<a id="__codelineno-17-10" name="__codelineno-17-10" href="#__codelineno-17-10"></a><span class="nt">nonbonded_cutoff</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">1.0</span>
|
|
2997
|
+
<a id="__codelineno-17-11" name="__codelineno-17-11" href="#__codelineno-17-11"></a><span class="nt">barostat</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">isotropic</span>
|
|
2998
|
+
<a id="__codelineno-17-12" name="__codelineno-17-12" href="#__codelineno-17-12"></a><span class="nt">pressure</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">1.0</span>
|
|
2999
|
+
<a id="__codelineno-17-13" name="__codelineno-17-13" href="#__codelineno-17-13"></a><span class="nt">membrane_surface_tension</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">0.0</span>
|
|
3000
|
+
<a id="__codelineno-17-14" name="__codelineno-17-14" href="#__codelineno-17-14"></a><span class="nt">membrane_xy_mode</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">isotropic</span>
|
|
3001
|
+
<a id="__codelineno-17-15" name="__codelineno-17-15" href="#__codelineno-17-15"></a><span class="nt">membrane_z_mode</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">free</span>
|
|
3002
|
+
<a id="__codelineno-17-16" name="__codelineno-17-16" href="#__codelineno-17-16"></a><span class="nt">barostat_frequency</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">25</span>
|
|
3003
|
+
<a id="__codelineno-17-17" name="__codelineno-17-17" href="#__codelineno-17-17"></a><span class="nt">temperature</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">300.0</span>
|
|
3004
|
+
<a id="__codelineno-17-18" name="__codelineno-17-18" href="#__codelineno-17-18"></a><span class="nt">step_size_fs</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">4</span>
|
|
3005
|
+
<a id="__codelineno-17-19" name="__codelineno-17-19" href="#__codelineno-17-19"></a><span class="nt">simulation_time_ns</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">1.0</span>
|
|
3006
|
+
<a id="__codelineno-17-20" name="__codelineno-17-20" href="#__codelineno-17-20"></a><span class="nt">trajectory_filename</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">traj.xtc</span>
|
|
3007
|
+
<a id="__codelineno-17-21" name="__codelineno-17-21" href="#__codelineno-17-21"></a><span class="nt">report_interval</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">10000</span>
|
|
3008
|
+
<a id="__codelineno-17-22" name="__codelineno-17-22" href="#__codelineno-17-22"></a><span class="nt">checkpoint_interval</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">5000</span>
|
|
3009
|
+
<a id="__codelineno-17-23" name="__codelineno-17-23" href="#__codelineno-17-23"></a><span class="nt">output_dir_name</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">output</span>
|
|
3010
|
+
<a id="__codelineno-17-24" name="__codelineno-17-24" href="#__codelineno-17-24"></a><span class="nt">seed</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">null</span>
|
|
3011
|
+
<a id="__codelineno-17-25" name="__codelineno-17-25" href="#__codelineno-17-25"></a><span class="nt">repeats</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">1</span>
|
|
3012
|
+
<a id="__codelineno-17-26" name="__codelineno-17-26" href="#__codelineno-17-26"></a><span class="nt">checkpoint_path</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">null</span>
|
|
3013
|
+
<a id="__codelineno-17-27" name="__codelineno-17-27" href="#__codelineno-17-27"></a><span class="nt">max_restarts</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">10</span>
|
|
3014
|
+
</code></pre></div>
|
|
3015
|
+
<p>Python:</p>
|
|
3016
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-18-1" name="__codelineno-18-1" href="#__codelineno-18-1"></a><span class="kn">from</span><span class="w"> </span><span class="nn">caddforge.core.execution</span><span class="w"> </span><span class="kn">import</span> <span class="n">load_result_for_job</span><span class="p">,</span> <span class="n">submit_workflow</span>
|
|
3017
|
+
<a id="__codelineno-18-2" name="__codelineno-18-2" href="#__codelineno-18-2"></a><span class="kn">from</span><span class="w"> </span><span class="nn">caddforge.plugins</span><span class="w"> </span><span class="kn">import</span> <span class="n">get_tool</span>
|
|
3018
|
+
<a id="__codelineno-18-3" name="__codelineno-18-3" href="#__codelineno-18-3"></a>
|
|
3019
|
+
<a id="__codelineno-18-4" name="__codelineno-18-4" href="#__codelineno-18-4"></a><span class="n">spec</span> <span class="o">=</span> <span class="n">get_tool</span><span class="p">(</span><span class="s2">"md"</span><span class="p">,</span> <span class="s2">"plain-md"</span><span class="p">)</span>
|
|
3020
|
+
<a id="__codelineno-18-5" name="__codelineno-18-5" href="#__codelineno-18-5"></a><span class="n">cfg</span> <span class="o">=</span> <span class="n">spec</span><span class="o">.</span><span class="n">config_cls</span><span class="p">(</span>
|
|
3021
|
+
<a id="__codelineno-18-6" name="__codelineno-18-6" href="#__codelineno-18-6"></a> <span class="n">system_pdb_path</span><span class="o">=</span><span class="s2">"data/system.pdb"</span><span class="p">,</span>
|
|
3022
|
+
<a id="__codelineno-18-7" name="__codelineno-18-7" href="#__codelineno-18-7"></a> <span class="n">molecule_sdf_paths</span><span class="o">=</span><span class="p">[</span><span class="s2">"data/ligand.sdf"</span><span class="p">],</span>
|
|
3023
|
+
<a id="__codelineno-18-8" name="__codelineno-18-8" href="#__codelineno-18-8"></a> <span class="n">simulation_time_ns</span><span class="o">=</span><span class="mf">1.0</span><span class="p">,</span>
|
|
3024
|
+
<a id="__codelineno-18-9" name="__codelineno-18-9" href="#__codelineno-18-9"></a> <span class="n">backend</span><span class="o">=</span><span class="s2">"local"</span><span class="p">,</span>
|
|
3025
|
+
<a id="__codelineno-18-10" name="__codelineno-18-10" href="#__codelineno-18-10"></a><span class="p">)</span>
|
|
3026
|
+
<a id="__codelineno-18-11" name="__codelineno-18-11" href="#__codelineno-18-11"></a><span class="n">workflow</span> <span class="o">=</span> <span class="n">spec</span><span class="o">.</span><span class="n">workflow_cls</span><span class="p">(</span><span class="n">cfg</span><span class="p">)</span>
|
|
3027
|
+
<a id="__codelineno-18-12" name="__codelineno-18-12" href="#__codelineno-18-12"></a><span class="n">job</span> <span class="o">=</span> <span class="n">submit_workflow</span><span class="p">(</span>
|
|
3028
|
+
<a id="__codelineno-18-13" name="__codelineno-18-13" href="#__codelineno-18-13"></a> <span class="n">workflow</span><span class="p">,</span> <span class="n">cfg</span><span class="p">,</span> <span class="n">backend_name</span><span class="o">=</span><span class="n">cfg</span><span class="o">.</span><span class="n">backend</span><span class="p">,</span>
|
|
3029
|
+
<a id="__codelineno-18-14" name="__codelineno-18-14" href="#__codelineno-18-14"></a> <span class="n">input_ports</span><span class="o">=</span><span class="nb">tuple</span><span class="p">(</span><span class="nb">getattr</span><span class="p">(</span><span class="n">spec</span><span class="o">.</span><span class="n">plugin</span><span class="p">,</span> <span class="s2">"input_ports"</span><span class="p">,</span> <span class="p">())),</span>
|
|
3030
|
+
<a id="__codelineno-18-15" name="__codelineno-18-15" href="#__codelineno-18-15"></a><span class="p">)</span>
|
|
3031
|
+
<a id="__codelineno-18-16" name="__codelineno-18-16" href="#__codelineno-18-16"></a><span class="n">result</span> <span class="o">=</span> <span class="n">load_result_for_job</span><span class="p">(</span><span class="n">job</span><span class="p">)</span>
|
|
3032
|
+
<a id="__codelineno-18-17" name="__codelineno-18-17" href="#__codelineno-18-17"></a><span class="k">if</span> <span class="n">result</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
|
|
3033
|
+
<a id="__codelineno-18-18" name="__codelineno-18-18" href="#__codelineno-18-18"></a> <span class="nb">print</span><span class="p">(</span><span class="n">result</span><span class="o">.</span><span class="n">metrics</span><span class="p">)</span>
|
|
3034
|
+
</code></pre></div>
|
|
3035
|
+
<p>Outputs to inspect: <code>results/output/*_prepared.pdb</code>, <code>results/output/*_minimized.pdb</code>,
|
|
3036
|
+
<code>results/output/traj.xtc</code>, <code>results/output/checkpoint.chk</code>, <code>results/result_record.json</code>.
|
|
3037
|
+
The standardized result exposes <code>prepared_structure</code>, <code>minimized_structure</code>, <code>trajectory</code>,
|
|
3038
|
+
<code>checkpoint</code>, and <code>output_dir</code> as pipeline-ready result paths.</p>
|
|
3039
|
+
<p>Set <code>repeats</code> above one to submit independent simulations with distinct reproducible seeds. The
|
|
3040
|
+
parent records child IDs and publishes <code>replicas_manifest.json</code> with aggregate completion metrics
|
|
3041
|
+
when every child reaches a terminal state. Slurm repeat children are submitted before the parent
|
|
3042
|
+
waits for results.</p>
|
|
3043
|
+
<p>For an already prepared system, use:</p>
|
|
3044
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-19-1" name="__codelineno-19-1" href="#__codelineno-19-1"></a><span class="nt">system_preparation_mode</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">prepared</span>
|
|
3045
|
+
<a id="__codelineno-19-2" name="__codelineno-19-2" href="#__codelineno-19-2"></a><span class="nt">prepared_box_margin</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">0.0</span>
|
|
3046
|
+
</code></pre></div>
|
|
3047
|
+
<p>In this mode, <code>padding</code> and <code>ionic_strength</code> are ignored. The workflow derives an
|
|
3048
|
+
orthorhombic box from the existing coordinates plus <code>prepared_box_margin</code> and fails if the
|
|
3049
|
+
resulting box is too small for the configured nonbonded cutoff.</p>
|
|
3050
|
+
<p>For membrane systems oriented in the XY plane with the membrane normal along Z, use:</p>
|
|
3051
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-20-1" name="__codelineno-20-1" href="#__codelineno-20-1"></a><span class="nt">barostat</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">membrane</span>
|
|
3052
|
+
<a id="__codelineno-20-2" name="__codelineno-20-2" href="#__codelineno-20-2"></a><span class="nt">membrane_surface_tension</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">0.0</span>
|
|
3053
|
+
<a id="__codelineno-20-3" name="__codelineno-20-3" href="#__codelineno-20-3"></a><span class="nt">membrane_xy_mode</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">isotropic</span>
|
|
3054
|
+
<a id="__codelineno-20-4" name="__codelineno-20-4" href="#__codelineno-20-4"></a><span class="nt">membrane_z_mode</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">free</span>
|
|
3055
|
+
<a id="__codelineno-20-5" name="__codelineno-20-5" href="#__codelineno-20-5"></a><span class="nt">barostat_frequency</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">25</span>
|
|
3056
|
+
</code></pre></div>
|
|
3057
|
+
<h2 id="minimize"><code>minimize</code><a class="headerlink" href="#minimize" title="Permanent link">¶</a></h2>
|
|
3058
|
+
<p>Minimize one protein–ligand complex with OpenMM L-BFGS. This is local pose
|
|
3059
|
+
cleanup: the reported physical-model energy includes implicit solvation and is
|
|
3060
|
+
<strong>not a binding affinity or a score for comparing different chemical systems</strong>.
|
|
3061
|
+
The tool emits finite poses with quality flags by default; strict mode can reject
|
|
3062
|
+
flagged jobs while retaining their structures and diagnostics.</p>
|
|
3063
|
+
<h3 id="minimize-installation-and-execution">Minimize installation and execution<a class="headerlink" href="#minimize-installation-and-execution" title="Permanent link">¶</a></h3>
|
|
3064
|
+
<p>Use an environment containing AmberTools (<code>pdb4amber</code>, <code>antechamber</code>, <code>parmchk2</code>,
|
|
3065
|
+
<code>tleap</code>), OpenMM >=8.2, ParmEd, RDKit, NumPy, SciPy, and this plugin. For example:</p>
|
|
3066
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-21-1" name="__codelineno-21-1" href="#__codelineno-21-1"></a>conda<span class="w"> </span>create<span class="w"> </span>-n<span class="w"> </span>caddforge-minimize<span class="w"> </span>-c<span class="w"> </span>conda-forge<span class="w"> </span><span class="nv">python</span><span class="o">=</span><span class="m">3</span>.13<span class="w"> </span>ambertools<span class="w"> </span><span class="nv">openmm</span><span class="o">=</span><span class="m">8</span>.2<span class="w"> </span>parmed<span class="w"> </span>rdkit<span class="w"> </span>numpy<span class="w"> </span>scipy
|
|
3067
|
+
<a id="__codelineno-21-2" name="__codelineno-21-2" href="#__codelineno-21-2"></a>conda<span class="w"> </span>activate<span class="w"> </span>caddforge-minimize
|
|
3068
|
+
<a id="__codelineno-21-3" name="__codelineno-21-3" href="#__codelineno-21-3"></a><span class="c1"># Use the reviewed public checkout, which includes the Amber validation fixes.</span>
|
|
3069
|
+
<a id="__codelineno-21-4" name="__codelineno-21-4" href="#__codelineno-21-4"></a>python<span class="w"> </span>-m<span class="w"> </span>pip<span class="w"> </span>install<span class="w"> </span>-e<span class="w"> </span><span class="s1">'/path/to/caddforge-md[minimize]'</span>
|
|
3070
|
+
<a id="__codelineno-21-5" name="__codelineno-21-5" href="#__codelineno-21-5"></a>caddforge<span class="w"> </span>show-config<span class="w"> </span>md<span class="w"> </span>minimize
|
|
3071
|
+
<a id="__codelineno-21-6" name="__codelineno-21-6" href="#__codelineno-21-6"></a>caddforge<span class="w"> </span>run<span class="w"> </span>md<span class="w"> </span>minimize<span class="w"> </span>--config<span class="w"> </span>minimize.yaml
|
|
3072
|
+
</code></pre></div>
|
|
3073
|
+
<p>Save this configuration as <code>minimize.yaml</code>, replacing the input paths:</p>
|
|
3074
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-22-1" name="__codelineno-22-1" href="#__codelineno-22-1"></a><span class="nt">complex_pdb_path</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">data/complex.pdb</span>
|
|
3075
|
+
<a id="__codelineno-22-2" name="__codelineno-22-2" href="#__codelineno-22-2"></a><span class="nt">ligand_path</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">data/ligand.sdf</span>
|
|
3076
|
+
<a id="__codelineno-22-3" name="__codelineno-22-3" href="#__codelineno-22-3"></a><span class="nt">lig_resname</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">LIG</span>
|
|
3077
|
+
<a id="__codelineno-22-4" name="__codelineno-22-4" href="#__codelineno-22-4"></a><span class="nt">mode</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">ligand_only</span>
|
|
3078
|
+
<a id="__codelineno-22-5" name="__codelineno-22-5" href="#__codelineno-22-5"></a><span class="nt">pocket_radius_angstrom</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">5.0</span>
|
|
3079
|
+
<a id="__codelineno-22-6" name="__codelineno-22-6" href="#__codelineno-22-6"></a><span class="nt">shell_radius_angstrom</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">5.0</span>
|
|
3080
|
+
<a id="__codelineno-22-7" name="__codelineno-22-7" href="#__codelineno-22-7"></a><span class="nt">backbone_restraint_strength</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">moderate</span>
|
|
3081
|
+
<a id="__codelineno-22-8" name="__codelineno-22-8" href="#__codelineno-22-8"></a><span class="nt">shell_restraint_strength</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">very_strong</span>
|
|
3082
|
+
<a id="__codelineno-22-9" name="__codelineno-22-9" href="#__codelineno-22-9"></a><span class="nt">tolerance_kj_mol_nm</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">10.0</span>
|
|
3083
|
+
<a id="__codelineno-22-10" name="__codelineno-22-10" href="#__codelineno-22-10"></a><span class="nt">max_iterations</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">1000</span>
|
|
3084
|
+
<a id="__codelineno-22-11" name="__codelineno-22-11" href="#__codelineno-22-11"></a><span class="nt">platform</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">CPU</span>
|
|
3085
|
+
<a id="__codelineno-22-12" name="__codelineno-22-12" href="#__codelineno-22-12"></a><span class="nt">run_directory</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">runs/minimize-one-complex</span>
|
|
3086
|
+
</code></pre></div>
|
|
3087
|
+
<p>For separate inputs, replace <code>complex_pdb_path</code> with <code>protein_pdb_path</code>; retain
|
|
3088
|
+
<code>ligand_path</code> in the same coordinate frame. To submit through Slurm, use
|
|
3089
|
+
<code>caddforge run md minimize --config minimize.yaml --backend slurm</code> with your
|
|
3090
|
+
site's <a href="../../core/slurm/">backend/environment settings</a>. There is no dedicated
|
|
3091
|
+
minimize GUI in this revision.</p>
|
|
3092
|
+
<p>AmberTools is installed separately from the Python extra. A prepared Amber input
|
|
3093
|
+
does not run AmberTools. Scientific imports are deferred until execution.
|
|
3094
|
+
CLI and pipeline execution use core input staging, including transparent gzip
|
|
3095
|
+
for declared input files. Checksums in chemistry/mapping records refer to the
|
|
3096
|
+
decompressed bytes. Nested cofactor chemistry paths are ordinary uncompressed
|
|
3097
|
+
configuration inputs and must be available on the execution node.</p>
|
|
3098
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-23-1" name="__codelineno-23-1" href="#__codelineno-23-1"></a><span class="kn">from</span><span class="w"> </span><span class="nn">cadd_md.minimize</span><span class="w"> </span><span class="kn">import</span> <span class="n">MinimizeConfig</span><span class="p">,</span> <span class="n">MinimizeWorkflow</span>
|
|
3099
|
+
<a id="__codelineno-23-2" name="__codelineno-23-2" href="#__codelineno-23-2"></a>
|
|
3100
|
+
<a id="__codelineno-23-3" name="__codelineno-23-3" href="#__codelineno-23-3"></a><span class="n">config</span> <span class="o">=</span> <span class="n">MinimizeConfig</span><span class="p">(</span>
|
|
3101
|
+
<a id="__codelineno-23-4" name="__codelineno-23-4" href="#__codelineno-23-4"></a> <span class="n">complex_pdb_path</span><span class="o">=</span><span class="s2">"complex.pdb"</span><span class="p">,</span>
|
|
3102
|
+
<a id="__codelineno-23-5" name="__codelineno-23-5" href="#__codelineno-23-5"></a> <span class="n">ligand_path</span><span class="o">=</span><span class="s2">"ligand.sdf"</span><span class="p">,</span>
|
|
3103
|
+
<a id="__codelineno-23-6" name="__codelineno-23-6" href="#__codelineno-23-6"></a> <span class="n">lig_resname</span><span class="o">=</span><span class="s2">"LIG"</span><span class="p">,</span>
|
|
3104
|
+
<a id="__codelineno-23-7" name="__codelineno-23-7" href="#__codelineno-23-7"></a> <span class="n">mode</span><span class="o">=</span><span class="s2">"pocket_restrained"</span><span class="p">,</span>
|
|
3105
|
+
<a id="__codelineno-23-8" name="__codelineno-23-8" href="#__codelineno-23-8"></a> <span class="n">run_directory</span><span class="o">=</span><span class="s2">"runs/cleanup"</span><span class="p">,</span>
|
|
3106
|
+
<a id="__codelineno-23-9" name="__codelineno-23-9" href="#__codelineno-23-9"></a> <span class="n">registry_path</span><span class="o">=</span><span class="s2">"runs/job_registry.sqlite"</span><span class="p">,</span>
|
|
3107
|
+
<a id="__codelineno-23-10" name="__codelineno-23-10" href="#__codelineno-23-10"></a><span class="p">)</span>
|
|
3108
|
+
<a id="__codelineno-23-11" name="__codelineno-23-11" href="#__codelineno-23-11"></a><span class="n">workflow</span> <span class="o">=</span> <span class="n">MinimizeWorkflow</span><span class="p">(</span><span class="n">config</span><span class="p">)</span>
|
|
3109
|
+
<a id="__codelineno-23-12" name="__codelineno-23-12" href="#__codelineno-23-12"></a><span class="n">result</span> <span class="o">=</span> <span class="n">workflow</span><span class="o">.</span><span class="n">run</span><span class="p">(</span><span class="n">workflow</span><span class="o">.</span><span class="n">prepare_job</span><span class="p">())</span>
|
|
3110
|
+
<a id="__codelineno-23-13" name="__codelineno-23-13" href="#__codelineno-23-13"></a><span class="nb">print</span><span class="p">(</span><span class="n">result</span><span class="o">.</span><span class="n">status</span><span class="p">,</span> <span class="n">result</span><span class="o">.</span><span class="n">metrics</span><span class="p">)</span>
|
|
3111
|
+
<a id="__codelineno-23-14" name="__codelineno-23-14" href="#__codelineno-23-14"></a><span class="nb">print</span><span class="p">(</span><span class="n">result</span><span class="o">.</span><span class="n">paths</span><span class="p">[</span><span class="s2">"minimized_complex"</span><span class="p">])</span>
|
|
3112
|
+
</code></pre></div>
|
|
3113
|
+
<p>Paths follow the existing config convention: relative paths resolve from the
|
|
3114
|
+
submission working directory. Use the core CLI/backend for Slurm submission;
|
|
3115
|
+
the scientific workflow contains no scheduler-specific execution logic.
|
|
3116
|
+
Choose a fresh <code>run_directory</code> for each run; existing minimization outputs are
|
|
3117
|
+
preserved and cannot be overwritten by a new job.</p>
|
|
3118
|
+
<h3 id="minimize-inputs-and-physical-model">Minimize inputs and physical model<a class="headerlink" href="#minimize-inputs-and-physical-model" title="Permanent link">¶</a></h3>
|
|
3119
|
+
<p>Supply either <code>complex_pdb_path</code>, or <code>protein_pdb_path</code> plus a ligand pose in the
|
|
3120
|
+
same coordinate frame. <code>ligand_path</code> is always required and supplies authoritative
|
|
3121
|
+
SDF/MOL/MOL2 chemistry. For a complex PDB, coordinates come from that complex;
|
|
3122
|
+
template coordinates are not used to align or move the pose. For separate inputs,
|
|
3123
|
+
the ligand file must contain one explicitly hydrogenated 3D molecule. The target
|
|
3124
|
+
residue is selected by <code>lig_resname</code>, which must occur exactly once.</p>
|
|
3125
|
+
<p>Preparation preserves supplied atoms, protonation, ligand stereochemistry, and
|
|
3126
|
+
disulfides, adds only missing hydrogens, and rejects missing protein heavy atoms.
|
|
3127
|
+
Repair missing protein heavy atoms upstream before submitting the complex; this tool only adds missing hydrogens. Bare histidines need
|
|
3128
|
+
unambiguous hydrogen evidence or an explicit <code>residue_states</code> entry. Optional
|
|
3129
|
+
<code>protein_states_path</code> and <code>protein_links_path</code> must be provided together and match
|
|
3130
|
+
the input structure checksum. Covalent target ligands are rejected.</p>
|
|
3131
|
+
<p>Automatic preparation uses ff14SB, GAFF2/AM1-BCC, TIP3P retained waters, and OBC2
|
|
3132
|
+
with <code>mbondi2</code> radii, ACE surface area, solute dielectric 1, solvent dielectric
|
|
3133
|
+
78.5, and zero salt screening. It is nonperiodic with <code>NoCutoff</code>; no solvent box
|
|
3134
|
+
or neutralizing ions are added. Retained waters are explicit solute particles in
|
|
3135
|
+
the GB model, a hybrid approximation requiring application-specific validation.
|
|
3136
|
+
All force-field choices, parameterization commands, checksums, and available
|
|
3137
|
+
software versions are retained.
|
|
3138
|
+
Both atom typing and missing-parameter lookup explicitly select GAFF2. Unresolved
|
|
3139
|
+
<code>parmchk2</code> parameter warnings fail preparation and require reviewed parameters.</p>
|
|
3140
|
+
<p>Generated GAFF2/AM1-BCC charges are checked and, when necessary, normalized
|
|
3141
|
+
independently for each organic component. Minimize and OpenBPMD apply a uniform
|
|
3142
|
+
per-atom offset only when the total correction is at most <strong>0.005 e</strong> and each
|
|
3143
|
+
atom changes by at most <strong>0.0001 e</strong>. These are conservative engineering limits,
|
|
3144
|
+
not universal scientific guarantees. Final component charges must sum to the
|
|
3145
|
+
authoritative formal charge within <strong>1e-8 e</strong>, and mapped charges are verified
|
|
3146
|
+
again after Amber topology construction. Invalid chemistry or larger residuals
|
|
3147
|
+
fail preparation; supplied Amber charges are never normalized.</p>
|
|
3148
|
+
<p>Preparation retains the original <code>*.raw.mol2</code>, the final MOL2, and a
|
|
3149
|
+
<code>*.charge_validation.json</code> report with raw/final sums, correction, policy limits,
|
|
3150
|
+
checksums, and the decision. <code>charge_validation</code> in the preparation summary links
|
|
3151
|
+
the reports, including rejected corrections. Applied corrections also produce a
|
|
3152
|
+
log warning. A residual within the charge-token rounding bound is distinguished
|
|
3153
|
+
from a larger generation residual; the latter is not assumed to be rounding.
|
|
3154
|
+
Changing <code>ligand_net_charge</code> or disabling quality checks is not a remedy for this
|
|
3155
|
+
error. These rules also apply to pipeline and scatter jobs without new YAML
|
|
3156
|
+
options.</p>
|
|
3157
|
+
<p>Automatic preparation also retains Antechamber's <code>ANTECHAMBER_AC.AC</code> bond
|
|
3158
|
+
evidence. The shared validator checks mapped atoms, coordinates, atom types,
|
|
3159
|
+
connectivity (including hydrogen attachments), and total formal charge against
|
|
3160
|
+
the authoritative ligand. A missing or inconsistent AC file fails preparation.</p>
|
|
3161
|
+
<p>Amber MOL2 bond tokens are not always literal chemical bond orders: for example,
|
|
3162
|
+
carboxylate C–O bonds can both be written as single bonds. Validation accepts
|
|
3163
|
+
supported Amber encodings only in their permitted chemical environments and
|
|
3164
|
+
requires one complete authoritative or RDKit resonance form to explain every
|
|
3165
|
+
bond. Aromatic/Kekulé alternatives are supported; arbitrary bond-order changes,
|
|
3166
|
+
tautomers, and changed protonation are not accepted. At most 1,000 candidate
|
|
3167
|
+
forms are examined. An inconclusive capped search fails explicitly.</p>
|
|
3168
|
+
<p>The charge report contains a <code>graph_validation</code> record with source checksums,
|
|
3169
|
+
atom mapping, candidate count, interpreted bonds, and the acceptance or rejection
|
|
3170
|
+
reason. The validators never rewrite bond records, atom types, coordinates, or
|
|
3171
|
+
the authoritative ligand. Charge normalization runs only after graph validation.
|
|
3172
|
+
These rules apply equally to minimize, OpenBPMD, organic cofactors, and pipeline
|
|
3173
|
+
jobs; no configuration override is needed for supported representations.</p>
|
|
3174
|
+
<p>Noncovalent organic cofactors require <code>cofactors</code> entries with <code>residue_index</code>
|
|
3175
|
+
and <code>chemistry_path</code>; optional <code>atom_map_path</code> uses the shared explicit atom-map
|
|
3176
|
+
schema against the original complex. Residue and atom indices are zero-based
|
|
3177
|
+
indices in <code>preparation/inputs/input_identity.json</code>, not PDB serial numbers.
|
|
3178
|
+
Automatic isolated ions are restricted to Na+, K+, and Cl- and require explicit
|
|
3179
|
+
<code>isolated_ion_residue_indices</code>. These declarations must not be used to stand in
|
|
3180
|
+
for a coordinated metal-site model.</p>
|
|
3181
|
+
<p>Coordinated metals, metall cofactors, and other supported supplied components
|
|
3182
|
+
use all three fields: <code>amber_topology_path</code>, <code>amber_coordinates_path</code>, and
|
|
3183
|
+
<code>amber_mapping_path</code>, alongside the complete input complex. The topology must
|
|
3184
|
+
be nonperiodic, contain all bonded/nonbonded parameters and positive GB
|
|
3185
|
+
radii/screening factors, and have finite charges and positive masses. Unsupported
|
|
3186
|
+
force forms and virtual sites fail explicitly. The supplied radii and charges
|
|
3187
|
+
are used without substituting automatic values. Every non-isolated metal needs
|
|
3188
|
+
a <code>metal_sites</code> entry containing <code>atom_index</code>, <code>oxidation_state</code>,
|
|
3189
|
+
<code>coordinating_atom_indices</code>, and a descriptive <code>parameter_source</code>.</p>
|
|
3190
|
+
<p>The prepared Amber mapping is JSON:</p>
|
|
3191
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-24-1" name="__codelineno-24-1" href="#__codelineno-24-1"></a><span class="p">{</span>
|
|
3192
|
+
<a id="__codelineno-24-2" name="__codelineno-24-2" href="#__codelineno-24-2"></a><span class="w"> </span><span class="nt">"schema_version"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span>
|
|
3193
|
+
<a id="__codelineno-24-3" name="__codelineno-24-3" href="#__codelineno-24-3"></a><span class="w"> </span><span class="nt">"input_sha256"</span><span class="p">:</span><span class="w"> </span><span class="s2">"SHA256 of the complex PDB"</span><span class="p">,</span>
|
|
3194
|
+
<a id="__codelineno-24-4" name="__codelineno-24-4" href="#__codelineno-24-4"></a><span class="w"> </span><span class="nt">"topology_sha256"</span><span class="p">:</span><span class="w"> </span><span class="s2">"SHA256 of the Amber topology"</span><span class="p">,</span>
|
|
3195
|
+
<a id="__codelineno-24-5" name="__codelineno-24-5" href="#__codelineno-24-5"></a><span class="w"> </span><span class="nt">"coordinates_sha256"</span><span class="p">:</span><span class="w"> </span><span class="s2">"SHA256 of the Amber coordinates"</span><span class="p">,</span>
|
|
3196
|
+
<a id="__codelineno-24-6" name="__codelineno-24-6" href="#__codelineno-24-6"></a><span class="w"> </span><span class="nt">"input_atom_indices"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="kc">null</span><span class="p">],</span>
|
|
3197
|
+
<a id="__codelineno-24-7" name="__codelineno-24-7" href="#__codelineno-24-7"></a><span class="w"> </span><span class="nt">"input_residue_indices"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="mi">0</span><span class="p">]</span>
|
|
3198
|
+
<a id="__codelineno-24-8" name="__codelineno-24-8" href="#__codelineno-24-8"></a><span class="p">}</span>
|
|
3199
|
+
</code></pre></div>
|
|
3200
|
+
<p>The arrays follow Amber topology order and must cover every input atom/residue
|
|
3201
|
+
exactly once. <code>null</code> is allowed only for an added hydrogen. Array lengths must
|
|
3202
|
+
match the actual topology; the short arrays above illustrate the schema only.
|
|
3203
|
+
Parameter sources and oxidation states are declarations, not an automatic
|
|
3204
|
+
validation of a metal model's physical accuracy.</p>
|
|
3205
|
+
<h3 id="minimize-regions-and-modes">Minimize regions and modes<a class="headerlink" href="#minimize-regions-and-modes" title="Permanent link">¶</a></h3>
|
|
3206
|
+
<p>Pocket residues have any heavy atom within <code>pocket_radius_angstrom: 5.0</code> of any
|
|
3207
|
+
ligand heavy atom. The shell contains other protein residues with any heavy atom
|
|
3208
|
+
within <code>shell_radius_angstrom: 5.0</code> of <strong>any pocket heavy atom</strong>. Both selections
|
|
3209
|
+
expand to whole residues and stay fixed during minimization. An explicit
|
|
3210
|
+
<code>pocket_residues: ["A:42", "A:43:B"]</code> replaces automatic pocket selection;
|
|
3211
|
+
<code>_</code> denotes a blank chain. Unknown, duplicate, ambiguous, or empty selections fail.</p>
|
|
3212
|
+
<table>
|
|
3213
|
+
<thead>
|
|
3214
|
+
<tr>
|
|
3215
|
+
<th><code>mode</code></th>
|
|
3216
|
+
<th>Pocket side chains</th>
|
|
3217
|
+
<th>Pocket backbone</th>
|
|
3218
|
+
<th>Shell</th>
|
|
3219
|
+
</tr>
|
|
3220
|
+
</thead>
|
|
3221
|
+
<tbody>
|
|
3222
|
+
<tr>
|
|
3223
|
+
<td><code>ligand_only</code> (default)</td>
|
|
3224
|
+
<td>Fixed</td>
|
|
3225
|
+
<td>Fixed</td>
|
|
3226
|
+
<td>Fixed</td>
|
|
3227
|
+
</tr>
|
|
3228
|
+
<tr>
|
|
3229
|
+
<td><code>sidechains_free_backbone_fixed</code></td>
|
|
3230
|
+
<td>Free</td>
|
|
3231
|
+
<td>Fixed</td>
|
|
3232
|
+
<td>Fixed</td>
|
|
3233
|
+
</tr>
|
|
3234
|
+
<tr>
|
|
3235
|
+
<td><code>sidechains_free_backbone_restrained</code></td>
|
|
3236
|
+
<td>Free</td>
|
|
3237
|
+
<td>Restrained</td>
|
|
3238
|
+
<td>Fixed</td>
|
|
3239
|
+
</tr>
|
|
3240
|
+
<tr>
|
|
3241
|
+
<td><code>pocket_restrained</code></td>
|
|
3242
|
+
<td>Free</td>
|
|
3243
|
+
<td>Restrained</td>
|
|
3244
|
+
<td>Strongly restrained</td>
|
|
3245
|
+
</tr>
|
|
3246
|
+
<tr>
|
|
3247
|
+
<td><code>pocket_free_shell_restrained</code></td>
|
|
3248
|
+
<td>Free</td>
|
|
3249
|
+
<td>Free</td>
|
|
3250
|
+
<td>Strongly restrained</td>
|
|
3251
|
+
</tr>
|
|
3252
|
+
</tbody>
|
|
3253
|
+
</table>
|
|
3254
|
+
<p>The target ligand is free and distant protein is fixed in every mode. Backbone
|
|
3255
|
+
atoms are N/CA/C/O/OXT; terminal caps count as backbone. Hydrogens inherit their
|
|
3256
|
+
bonded parent's region. Waters, ions, metals, and cofactors are fixed by default;
|
|
3257
|
+
<code>component_mobility</code> permits explicit whole-residue <code>fixed</code>, <code>free</code>, or
|
|
3258
|
+
<code>restrained</code> overrides keyed by input residue index.</p>
|
|
3259
|
+
<p>Positional restraints use <strong>E = ½ k |r − r₀|²</strong>, with <strong>k in kJ mol⁻¹ nm⁻²</strong>.
|
|
3260
|
+
Named strengths are <code>weak: 100</code>, <code>moderate: 1000</code>, and <code>very_strong: 10000</code>;
|
|
3261
|
+
positive numeric strengths are accepted. <code>backbone_restraint_strength</code> defaults
|
|
3262
|
+
to <code>moderate</code>, and <code>shell_restraint_strength</code> to <code>very_strong</code>. They are starting
|
|
3263
|
+
regimes, not universally validated settings. Only heavy atoms are restrained
|
|
3264
|
+
unless <code>restrain_hydrogens: true</code>. Fixed regions include their hydrogens.</p>
|
|
3265
|
+
<p>Fixed particles have zero mass in a private minimization-system copy. The
|
|
3266
|
+
exported physical system retains original masses. Bonds and water geometry are
|
|
3267
|
+
flexible by default. <code>constraints: mobile_hbonds</code> constrains bonds involving
|
|
3268
|
+
hydrogen only when both endpoints are mobile, using their force-field equilibrium
|
|
3269
|
+
lengths and retaining the physical bonded terms. Constraints involving fixed
|
|
3270
|
+
atoms are rejected. Disulfide connectivity is preserved across region boundaries.</p>
|
|
3271
|
+
<h3 id="minimize-convergence-diagnostics-and-quality">Minimize convergence, diagnostics, and quality<a class="headerlink" href="#minimize-convergence-diagnostics-and-quality" title="Permanent link">¶</a></h3>
|
|
3272
|
+
<p>Defaults are <code>tolerance_kj_mol_nm: 10.0</code>, <code>max_iterations: 1000</code>,
|
|
3273
|
+
<code>constraint_tolerance: 0.00001</code>, <code>platform: CPU</code>, and <code>cpu_threads: 1</code>.
|
|
3274
|
+
GPU platforms accept <code>precision: single|mixed|double</code> where supported. Explicitly
|
|
3275
|
+
requested unavailable platforms or precision settings fail instead of falling back.</p>
|
|
3276
|
+
<p>The iteration budget spans OpenMM constraint restarts. The trace distinguishes
|
|
3277
|
+
the physical-plus-positional objective from OpenMM's temporary bond-constraint
|
|
3278
|
+
penalty. Final convergence is independently checked using RMS force components
|
|
3279
|
+
over mobile atoms, projected onto the allowed constraint tangent space when
|
|
3280
|
+
needed, plus maximum relative constraint error. A normal OpenMM return alone
|
|
3281
|
+
does not establish convergence. Status is <code>verified_converged</code>, <code>iteration_limit</code>,
|
|
3282
|
+
<code>not_verified</code>, or <code>failed</code>; the record also reports a reached budget even if the
|
|
3283
|
+
last iterate independently satisfies the convergence tests.
|
|
3284
|
+
The implementation targets the <a href="https://github.com/openmm/openmm/blob/8.2.0/openmmapi/src/LocalEnergyMinimizer.cpp">OpenMM 8.2 minimizer and reporter behavior</a>.</p>
|
|
3285
|
+
<p>Diagnostics include initial/final molecular-mechanics, GB, physical, positional,
|
|
3286
|
+
and total objective energies; physical/total RMS and maximum forces for all,
|
|
3287
|
+
mobile, and fixed atoms; iteration counts; constraint errors; heavy-atom ligand,
|
|
3288
|
+
pocket, backbone, shell, receptor, and component RMSDs without alignment; and
|
|
3289
|
+
maximum displacements with atom indices. Preparation displacement is separate.
|
|
3290
|
+
Ordinary nonbonded clashes, 1–4 overlaps, and declared metal coordination are
|
|
3291
|
+
reported separately. Bonded and angle-connected contacts are excluded.</p>
|
|
3292
|
+
<p>Default review triggers under <code>quality_thresholds</code> are:</p>
|
|
3293
|
+
<table>
|
|
3294
|
+
<thead>
|
|
3295
|
+
<tr>
|
|
3296
|
+
<th>Field</th>
|
|
3297
|
+
<th>Default</th>
|
|
3298
|
+
</tr>
|
|
3299
|
+
</thead>
|
|
3300
|
+
<tbody>
|
|
3301
|
+
<tr>
|
|
3302
|
+
<td><code>ligand_rmsd_angstrom</code></td>
|
|
3303
|
+
<td>1.0</td>
|
|
3304
|
+
</tr>
|
|
3305
|
+
<tr>
|
|
3306
|
+
<td><code>ligand_max_displacement_angstrom</code></td>
|
|
3307
|
+
<td>2.0</td>
|
|
3308
|
+
</tr>
|
|
3309
|
+
<tr>
|
|
3310
|
+
<td><code>pocket_backbone_rmsd_angstrom</code></td>
|
|
3311
|
+
<td>0.5</td>
|
|
3312
|
+
</tr>
|
|
3313
|
+
<tr>
|
|
3314
|
+
<td><code>receptor_max_displacement_angstrom</code></td>
|
|
3315
|
+
<td>2.0</td>
|
|
3316
|
+
</tr>
|
|
3317
|
+
<tr>
|
|
3318
|
+
<td><code>absolute_energy_per_atom_kj_mol</code></td>
|
|
3319
|
+
<td>10000</td>
|
|
3320
|
+
</tr>
|
|
3321
|
+
<tr>
|
|
3322
|
+
<td><code>maximum_force_kj_mol_nm</code></td>
|
|
3323
|
+
<td>100000</td>
|
|
3324
|
+
</tr>
|
|
3325
|
+
<tr>
|
|
3326
|
+
<td><code>allowed_vdw_overlap_angstrom</code></td>
|
|
3327
|
+
<td>0.6</td>
|
|
3328
|
+
</tr>
|
|
3329
|
+
<tr>
|
|
3330
|
+
<td><code>coordination_distance_change_angstrom</code></td>
|
|
3331
|
+
<td>0.3</td>
|
|
3332
|
+
</tr>
|
|
3333
|
+
<tr>
|
|
3334
|
+
<td><code>objective_increase_absolute_kj_mol</code></td>
|
|
3335
|
+
<td>0.01</td>
|
|
3336
|
+
</tr>
|
|
3337
|
+
<tr>
|
|
3338
|
+
<td><code>objective_increase_relative</code></td>
|
|
3339
|
+
<td>1e-8</td>
|
|
3340
|
+
</tr>
|
|
3341
|
+
</tbody>
|
|
3342
|
+
</table>
|
|
3343
|
+
<p>These are review triggers, not universal validity bounds; geometric overlaps,
|
|
3344
|
+
especially 1–4 contacts, need chemical interpretation. Nonfinite states, invalid
|
|
3345
|
+
chemistry, or any fixed-atom movement always fail. Other findings produce
|
|
3346
|
+
machine-readable <code>quality_flags</code>. Set <code>strict_quality: true</code> to fail on every
|
|
3347
|
+
flag, or combine <code>strict_quality: true</code> with <code>strict_quality_flags</code> to fail only on selected codes such as
|
|
3348
|
+
<code>convergence_unverified</code>, <code>large_ligand_displacement</code>, or
|
|
3349
|
+
<code>residual_nonbonded_clashes</code>. Finite strict-failure poses remain available.</p>
|
|
3350
|
+
<h3 id="minimize-artifacts-and-pipelines">Minimize artifacts and pipelines<a class="headerlink" href="#minimize-artifacts-and-pipelines" title="Permanent link">¶</a></h3>
|
|
3351
|
+
<p>Canonical results are saved in <code>results/result_record.json</code>. Scientific artifacts
|
|
3352
|
+
are under <code>results/minimize/</code>: <code>structures/</code> contains minimized PDB/SDF files and
|
|
3353
|
+
fresh handoff records; <code>preparation/</code> contains the physical system, initial
|
|
3354
|
+
coordinates, atom mapping, and provenance; <code>minimization/</code> contains diagnostics,
|
|
3355
|
+
full-precision final coordinates, and the iteration trace. Exact region membership
|
|
3356
|
+
is in <code>results/minimize/regions.json</code>.</p>
|
|
3357
|
+
<p>Pipeline input names differ from config fields:</p>
|
|
3358
|
+
<table>
|
|
3359
|
+
<thead>
|
|
3360
|
+
<tr>
|
|
3361
|
+
<th>Input port</th>
|
|
3362
|
+
<th>Config field</th>
|
|
3363
|
+
</tr>
|
|
3364
|
+
</thead>
|
|
3365
|
+
<tbody>
|
|
3366
|
+
<tr>
|
|
3367
|
+
<td><code>complex</code></td>
|
|
3368
|
+
<td><code>complex_pdb_path</code></td>
|
|
3369
|
+
</tr>
|
|
3370
|
+
<tr>
|
|
3371
|
+
<td><code>protein</code></td>
|
|
3372
|
+
<td><code>protein_pdb_path</code></td>
|
|
3373
|
+
</tr>
|
|
3374
|
+
<tr>
|
|
3375
|
+
<td><code>ligand</code></td>
|
|
3376
|
+
<td><code>ligand_path</code></td>
|
|
3377
|
+
</tr>
|
|
3378
|
+
<tr>
|
|
3379
|
+
<td><code>ligand_atom_map</code></td>
|
|
3380
|
+
<td><code>ligand_atom_map_path</code></td>
|
|
3381
|
+
</tr>
|
|
3382
|
+
<tr>
|
|
3383
|
+
<td><code>protein_states</code>, <code>protein_links</code></td>
|
|
3384
|
+
<td><code>protein_states_path</code>, <code>protein_links_path</code></td>
|
|
3385
|
+
</tr>
|
|
3386
|
+
<tr>
|
|
3387
|
+
<td><code>amber_topology</code>, <code>amber_coordinates</code>, <code>amber_mapping</code></td>
|
|
3388
|
+
<td><code>amber_topology_path</code>, <code>amber_coordinates_path</code>, <code>amber_mapping_path</code></td>
|
|
3389
|
+
</tr>
|
|
3390
|
+
</tbody>
|
|
3391
|
+
</table>
|
|
3392
|
+
<p>Supply exactly one structure input and a ligand chemistry file. The paired
|
|
3393
|
+
protein-state/link inputs and the three prepared-Amber inputs must be complete
|
|
3394
|
+
when provided.</p>
|
|
3395
|
+
<table>
|
|
3396
|
+
<thead>
|
|
3397
|
+
<tr>
|
|
3398
|
+
<th>Output port</th>
|
|
3399
|
+
<th><code>Result.paths</code> key</th>
|
|
3400
|
+
</tr>
|
|
3401
|
+
</thead>
|
|
3402
|
+
<tbody>
|
|
3403
|
+
<tr>
|
|
3404
|
+
<td><code>complex</code></td>
|
|
3405
|
+
<td><code>minimized_complex</code></td>
|
|
3406
|
+
</tr>
|
|
3407
|
+
<tr>
|
|
3408
|
+
<td><code>protein</code></td>
|
|
3409
|
+
<td><code>minimized_protein</code></td>
|
|
3410
|
+
</tr>
|
|
3411
|
+
<tr>
|
|
3412
|
+
<td><code>ligand</code></td>
|
|
3413
|
+
<td><code>minimized_ligand</code></td>
|
|
3414
|
+
</tr>
|
|
3415
|
+
<tr>
|
|
3416
|
+
<td><code>result_record</code></td>
|
|
3417
|
+
<td><code>result_record</code></td>
|
|
3418
|
+
</tr>
|
|
3419
|
+
<tr>
|
|
3420
|
+
<td><code>diagnostics</code></td>
|
|
3421
|
+
<td><code>diagnostics</code></td>
|
|
3422
|
+
</tr>
|
|
3423
|
+
</tbody>
|
|
3424
|
+
</table>
|
|
3425
|
+
<p>All other output ports below use the same name as their result-path key. Output ports expose
|
|
3426
|
+
<code>complex</code>, <code>protein</code>, <code>ligand</code>, <code>diagnostics</code>, <code>regions</code>, <code>atom_mapping</code>,
|
|
3427
|
+
<code>output_mapping</code>, <code>preparation_summary</code>, <code>physical_system</code>, <code>prepared_positions</code>,
|
|
3428
|
+
<code>minimized_positions</code>, <code>amber_topology</code>, <code>amber_coordinates</code>, <code>structure_manifest</code>,
|
|
3429
|
+
<code>protein_states</code>, <code>protein_links</code>, <code>receptor_protein_states</code>,
|
|
3430
|
+
<code>receptor_protein_links</code>, optional <code>iteration_trace</code>, <code>result_record</code>, and <code>output_dir</code>.
|
|
3431
|
+
The complex handoff records match the complex checksum; <code>receptor_*</code> records
|
|
3432
|
+
match the protein output. A covalently connected environment component is retained
|
|
3433
|
+
in the receptor export to avoid cutting chemical bonds, and this is recorded.</p>
|
|
3434
|
+
<p>The ligand SDF preserves chemistry, title, and user properties. PDB coordinates
|
|
3435
|
+
are rounded to 0.001 Å and SDF coordinates to 0.0001 Å; NumPy coordinate artifacts
|
|
3436
|
+
retain full precision in <strong>nanometers</strong>, in physical-system particle order. The
|
|
3437
|
+
Amber coordinate artifact is the prepared starting configuration. Use the
|
|
3438
|
+
separate minimized coordinate artifact for the final pose. The exported physical
|
|
3439
|
+
system contains no zero-mass freezes or positional restraints and still needs an
|
|
3440
|
+
appropriate MD protocol before dynamics.</p>
|
|
3441
|
+
<p>Download example configurations for
|
|
3442
|
+
<a href="../../examples/minimize/ligand_only.yaml">ligand only</a>,
|
|
3443
|
+
<a href="../../examples/minimize/sidechains_free_backbone_fixed.yaml">free side chains/fixed backbone</a>,
|
|
3444
|
+
<a href="../../examples/minimize/sidechains_free_backbone_restrained.yaml">free side chains/restrained backbone</a>,
|
|
3445
|
+
<a href="../../examples/minimize/pocket_restrained.yaml">restrained pocket</a>,
|
|
3446
|
+
<a href="../../examples/minimize/pocket_free_shell_restrained.yaml">free pocket/restrained shell</a>,
|
|
3447
|
+
<a href="../../examples/minimize/component_overrides.yaml">component overrides</a>, and
|
|
3448
|
+
<a href="../../examples/minimize/prepared_metal.yaml">supplied metal parameters</a>.
|
|
3449
|
+
See the <a href="../../pipelines/examples/#minimize-a-multi-pose-sdf">minimize pipeline examples</a>
|
|
3450
|
+
for complete YAML and artifact flow. The pipeline uses existing
|
|
3451
|
+
scatter/collect/filter stages and preserves per-pose provenance. Filtering quality
|
|
3452
|
+
flags does not establish pose accuracy; do not rank unrelated ligands by total
|
|
3453
|
+
minimization energy.</p>
|
|
3454
|
+
<p>Validation in the <code>caddforge-md</code> checkout: <code>python -m pytest tests/test_minimize_*.py</code>. Scientific fixtures use
|
|
3455
|
+
generated peptides/ligands and are marked <code>external</code>; optional GPU comparison
|
|
3456
|
+
tests skip with an explicit reason when no usable GPU platform exists.</p>
|
|
3457
|
+
<h2 id="openbpmd"><code>openbpmd</code><a class="headerlink" href="#openbpmd" title="Permanent link">¶</a></h2>
|
|
3458
|
+
<p>Runs OpenBPMD preprocessing, simulations, and averaged multi-replica analysis.</p>
|
|
3459
|
+
<p>CLI:</p>
|
|
3460
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-25-1" name="__codelineno-25-1" href="#__codelineno-25-1"></a>caddforge<span class="w"> </span>run<span class="w"> </span>md<span class="w"> </span>openbpmd<span class="w"> </span>--config<span class="w"> </span>openbpmd.yaml
|
|
3461
|
+
</code></pre></div>
|
|
3462
|
+
<p>YAML:</p>
|
|
3463
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-26-1" name="__codelineno-26-1" href="#__codelineno-26-1"></a><span class="nt">backend</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">local</span>
|
|
3464
|
+
<a id="__codelineno-26-2" name="__codelineno-26-2" href="#__codelineno-26-2"></a><span class="nt">complex_pdb_path</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">data/complex.pdb</span>
|
|
3465
|
+
<a id="__codelineno-26-3" name="__codelineno-26-3" href="#__codelineno-26-3"></a><span class="nt">lig_resname</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">MOL</span>
|
|
3466
|
+
<a id="__codelineno-26-4" name="__codelineno-26-4" href="#__codelineno-26-4"></a><span class="nt">ligand_net_charge</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">0</span>
|
|
3467
|
+
<a id="__codelineno-26-5" name="__codelineno-26-5" href="#__codelineno-26-5"></a><span class="nt">nreps</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">10</span>
|
|
3468
|
+
<a id="__codelineno-26-6" name="__codelineno-26-6" href="#__codelineno-26-6"></a><span class="nt">hill_height</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">0.05</span>
|
|
3469
|
+
<a id="__codelineno-26-7" name="__codelineno-26-7" href="#__codelineno-26-7"></a><span class="nt">deposit_interval_ps</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">1.0</span>
|
|
3470
|
+
<a id="__codelineno-26-8" name="__codelineno-26-8" href="#__codelineno-26-8"></a><span class="nt">log_sync_interval_seconds</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">30</span>
|
|
3471
|
+
<a id="__codelineno-26-9" name="__codelineno-26-9" href="#__codelineno-26-9"></a><span class="nt">output_dir_name</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">output</span>
|
|
3472
|
+
<a id="__codelineno-26-10" name="__codelineno-26-10" href="#__codelineno-26-10"></a><span class="nt">analysis_dir_name</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">analysis</span>
|
|
3473
|
+
</code></pre></div>
|
|
3474
|
+
<p>Python:</p>
|
|
3475
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-27-1" name="__codelineno-27-1" href="#__codelineno-27-1"></a><span class="kn">from</span><span class="w"> </span><span class="nn">caddforge.core.execution</span><span class="w"> </span><span class="kn">import</span> <span class="n">load_result_for_job</span><span class="p">,</span> <span class="n">submit_workflow</span>
|
|
3476
|
+
<a id="__codelineno-27-2" name="__codelineno-27-2" href="#__codelineno-27-2"></a><span class="kn">from</span><span class="w"> </span><span class="nn">caddforge.plugins</span><span class="w"> </span><span class="kn">import</span> <span class="n">get_tool</span>
|
|
3477
|
+
<a id="__codelineno-27-3" name="__codelineno-27-3" href="#__codelineno-27-3"></a>
|
|
3478
|
+
<a id="__codelineno-27-4" name="__codelineno-27-4" href="#__codelineno-27-4"></a><span class="n">spec</span> <span class="o">=</span> <span class="n">get_tool</span><span class="p">(</span><span class="s2">"md"</span><span class="p">,</span> <span class="s2">"openbpmd"</span><span class="p">)</span>
|
|
3479
|
+
<a id="__codelineno-27-5" name="__codelineno-27-5" href="#__codelineno-27-5"></a><span class="n">cfg</span> <span class="o">=</span> <span class="n">spec</span><span class="o">.</span><span class="n">config_cls</span><span class="p">(</span>
|
|
3480
|
+
<a id="__codelineno-27-6" name="__codelineno-27-6" href="#__codelineno-27-6"></a> <span class="n">complex_pdb_path</span><span class="o">=</span><span class="s2">"data/complex.pdb"</span><span class="p">,</span>
|
|
3481
|
+
<a id="__codelineno-27-7" name="__codelineno-27-7" href="#__codelineno-27-7"></a> <span class="n">lig_resname</span><span class="o">=</span><span class="s2">"MOL"</span><span class="p">,</span>
|
|
3482
|
+
<a id="__codelineno-27-8" name="__codelineno-27-8" href="#__codelineno-27-8"></a> <span class="n">nreps</span><span class="o">=</span><span class="mi">10</span><span class="p">,</span>
|
|
3483
|
+
<a id="__codelineno-27-9" name="__codelineno-27-9" href="#__codelineno-27-9"></a> <span class="n">hill_height</span><span class="o">=</span><span class="mf">0.05</span><span class="p">,</span>
|
|
3484
|
+
<a id="__codelineno-27-10" name="__codelineno-27-10" href="#__codelineno-27-10"></a> <span class="n">deposit_interval_ps</span><span class="o">=</span><span class="mf">1.0</span><span class="p">,</span>
|
|
3485
|
+
<a id="__codelineno-27-11" name="__codelineno-27-11" href="#__codelineno-27-11"></a> <span class="n">backend</span><span class="o">=</span><span class="s2">"local"</span><span class="p">,</span>
|
|
3486
|
+
<a id="__codelineno-27-12" name="__codelineno-27-12" href="#__codelineno-27-12"></a><span class="p">)</span>
|
|
3487
|
+
<a id="__codelineno-27-13" name="__codelineno-27-13" href="#__codelineno-27-13"></a><span class="n">workflow</span> <span class="o">=</span> <span class="n">spec</span><span class="o">.</span><span class="n">workflow_cls</span><span class="p">(</span><span class="n">cfg</span><span class="p">)</span>
|
|
3488
|
+
<a id="__codelineno-27-14" name="__codelineno-27-14" href="#__codelineno-27-14"></a><span class="n">job</span> <span class="o">=</span> <span class="n">submit_workflow</span><span class="p">(</span>
|
|
3489
|
+
<a id="__codelineno-27-15" name="__codelineno-27-15" href="#__codelineno-27-15"></a> <span class="n">workflow</span><span class="p">,</span> <span class="n">cfg</span><span class="p">,</span> <span class="n">backend_name</span><span class="o">=</span><span class="n">cfg</span><span class="o">.</span><span class="n">backend</span><span class="p">,</span>
|
|
3490
|
+
<a id="__codelineno-27-16" name="__codelineno-27-16" href="#__codelineno-27-16"></a> <span class="n">input_ports</span><span class="o">=</span><span class="nb">tuple</span><span class="p">(</span><span class="nb">getattr</span><span class="p">(</span><span class="n">spec</span><span class="o">.</span><span class="n">plugin</span><span class="p">,</span> <span class="s2">"input_ports"</span><span class="p">,</span> <span class="p">())),</span>
|
|
3491
|
+
<a id="__codelineno-27-17" name="__codelineno-27-17" href="#__codelineno-27-17"></a><span class="p">)</span>
|
|
3492
|
+
<a id="__codelineno-27-18" name="__codelineno-27-18" href="#__codelineno-27-18"></a><span class="n">result</span> <span class="o">=</span> <span class="n">load_result_for_job</span><span class="p">(</span><span class="n">job</span><span class="p">)</span>
|
|
3493
|
+
<a id="__codelineno-27-19" name="__codelineno-27-19" href="#__codelineno-27-19"></a><span class="k">if</span> <span class="n">result</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
|
|
3494
|
+
<a id="__codelineno-27-20" name="__codelineno-27-20" href="#__codelineno-27-20"></a> <span class="nb">print</span><span class="p">(</span><span class="n">result</span><span class="o">.</span><span class="n">paths</span><span class="p">)</span>
|
|
3495
|
+
</code></pre></div>
|
|
3496
|
+
<p>Outputs to inspect: <code>prep/</code>, <code>results/output/</code>, <code>results/analysis/results.csv</code>,
|
|
3497
|
+
<code>results/analysis/multi_rep_timeseries.csv</code>, <code>results/progress.json</code>,
|
|
3498
|
+
<code>results/result_record.json</code>.</p>
|
|
3499
|
+
<p>OpenBPMD streams subprocess output to scratch-first logs and publishes best-effort replica progress
|
|
3500
|
+
from the per-replica simulation logs. <code>log_sync_interval_seconds</code> controls publication frequency;
|
|
3501
|
+
temporary shared-filesystem failures are retried without changing the scientific outcome.</p>
|
|
3502
|
+
<h2 id="grand"><code>grand</code><a class="headerlink" href="#grand" title="Permanent link">¶</a></h2>
|
|
3503
|
+
<p>Runs Grand Canonical Monte Carlo (GCMC) water sampling in a ligand-centred pocket region and then
|
|
3504
|
+
selects a single representative protein-ligand-water structure from the resulting trajectory, all
|
|
3505
|
+
within one job. The tool combines two stages so you obtain a usable representative hydration state
|
|
3506
|
+
without a separate manual step.</p>
|
|
3507
|
+
<p><strong>GCMC sampling stage.</strong> The first stage prepares the input protein-ligand complex (adds hydrogens
|
|
3508
|
+
at the configured pH, optionally solvates with padding and ionic strength, restrains solute heavy
|
|
3509
|
+
atoms, and adds ghost waters) and then performs GCMC insertion and deletion sampling inside a
|
|
3510
|
+
ligand-centred spherical region defined by <code>sphere_radius_angstrom</code>. It uses the configured
|
|
3511
|
+
initialization passes and maximum production passes with a running water-count convergence check.
|
|
3512
|
+
The stage writes the final-state checkpoint before any trajectory readback, then produces a
|
|
3513
|
+
trajectory, a per-frame ghost-water state file (one row per frame listing the inactive ghost-water
|
|
3514
|
+
residue indices for that frame), and a hydrated-complex structure. Post-processing is non-strict: if
|
|
3515
|
+
it fails, the error is recorded in the stage summary while the completed checkpoint and trajectory
|
|
3516
|
+
are preserved so the run can continue.</p>
|
|
3517
|
+
<p><strong>Representative-selection stage.</strong> The second stage runs on the produced trajectory and uses the
|
|
3518
|
+
per-frame ghost-water state file to exclude, for each analysed frame, that frame's ghost waters from
|
|
3519
|
+
all downstream selection and output. It deterministically selects exactly one representative frame
|
|
3520
|
+
from within the configured frame analysis interval (repeated runs on the same trajectory and
|
|
3521
|
+
configuration select the same frame) and writes a representative complex structure containing the
|
|
3522
|
+
ligand residue, the protein atoms, and the active non-ghost water residues present at the selected
|
|
3523
|
+
frame. When a ligand template SDF and <code>ligand_resname</code> are configured, it also writes a
|
|
3524
|
+
template-corrected ligand SDF whose bond orders and chemistry come from the template and whose
|
|
3525
|
+
coordinates come from the selected frame, plus an optional protein-only structure. Template ligand
|
|
3526
|
+
export is non-strict: on failure the error is recorded in the selection summary and the
|
|
3527
|
+
representative complex is still written.</p>
|
|
3528
|
+
<p>CLI:</p>
|
|
3529
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-28-1" name="__codelineno-28-1" href="#__codelineno-28-1"></a>caddforge<span class="w"> </span>run<span class="w"> </span>md<span class="w"> </span>grand<span class="w"> </span>--config<span class="w"> </span>grand.yaml
|
|
3530
|
+
<a id="__codelineno-28-2" name="__codelineno-28-2" href="#__codelineno-28-2"></a>caddforge<span class="w"> </span>run<span class="w"> </span>md<span class="w"> </span>grand<span class="w"> </span>--config<span class="w"> </span>grand.yaml<span class="w"> </span>--backend<span class="w"> </span>slurm<span class="w"> </span>--slurm-time<span class="w"> </span><span class="m">24</span>:00:00
|
|
3531
|
+
</code></pre></div>
|
|
3532
|
+
<p>YAML:</p>
|
|
3533
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-29-1" name="__codelineno-29-1" href="#__codelineno-29-1"></a><span class="nt">backend</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">local</span>
|
|
3534
|
+
<a id="__codelineno-29-2" name="__codelineno-29-2" href="#__codelineno-29-2"></a><span class="nt">complex_pdb_path</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">data/complex.pdb</span>
|
|
3535
|
+
<a id="__codelineno-29-3" name="__codelineno-29-3" href="#__codelineno-29-3"></a><span class="nt">ligand_template_sdf</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">data/ligand_template.sdf</span>
|
|
3536
|
+
<a id="__codelineno-29-4" name="__codelineno-29-4" href="#__codelineno-29-4"></a><span class="nt">ligand_resname</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">LIG</span>
|
|
3537
|
+
<a id="__codelineno-29-5" name="__codelineno-29-5" href="#__codelineno-29-5"></a><span class="nt">sphere_radius_angstrom</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">10.0</span>
|
|
3538
|
+
<a id="__codelineno-29-6" name="__codelineno-29-6" href="#__codelineno-29-6"></a><span class="nt">n_ghost_waters</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">150</span>
|
|
3539
|
+
<a id="__codelineno-29-7" name="__codelineno-29-7" href="#__codelineno-29-7"></a><span class="nt">nonbonded_cutoff_nm</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">0.9</span>
|
|
3540
|
+
<a id="__codelineno-29-8" name="__codelineno-29-8" href="#__codelineno-29-8"></a><span class="nt">temperature_kelvin</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">300.0</span>
|
|
3541
|
+
<a id="__codelineno-29-9" name="__codelineno-29-9" href="#__codelineno-29-9"></a><span class="nt">initialization_passes</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">7500</span>
|
|
3542
|
+
<a id="__codelineno-29-10" name="__codelineno-29-10" href="#__codelineno-29-10"></a><span class="nt">max_production_passes</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">100000</span>
|
|
3543
|
+
<a id="__codelineno-29-11" name="__codelineno-29-11" href="#__codelineno-29-11"></a><span class="nt">ph</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">7.4</span>
|
|
3544
|
+
<a id="__codelineno-29-12" name="__codelineno-29-12" href="#__codelineno-29-12"></a><span class="nt">padding_nm</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">1.2</span>
|
|
3545
|
+
<a id="__codelineno-29-13" name="__codelineno-29-13" href="#__codelineno-29-13"></a><span class="nt">ionic_strength_molar</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">0.15</span>
|
|
3546
|
+
<a id="__codelineno-29-14" name="__codelineno-29-14" href="#__codelineno-29-14"></a><span class="nt">ligand_selection</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">null</span>
|
|
3547
|
+
<a id="__codelineno-29-15" name="__codelineno-29-15" href="#__codelineno-29-15"></a><span class="nt">align_selection</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">null</span>
|
|
3548
|
+
<a id="__codelineno-29-16" name="__codelineno-29-16" href="#__codelineno-29-16"></a><span class="nt">frame_analysis_interval</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">1</span>
|
|
3549
|
+
<a id="__codelineno-29-17" name="__codelineno-29-17" href="#__codelineno-29-17"></a><span class="nt">log_sync_interval_seconds</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">30</span>
|
|
3550
|
+
<a id="__codelineno-29-18" name="__codelineno-29-18" href="#__codelineno-29-18"></a><span class="nt">output_dir_name</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">output</span>
|
|
3551
|
+
<a id="__codelineno-29-19" name="__codelineno-29-19" href="#__codelineno-29-19"></a><span class="nt">trajectory_filename</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">gcmc_trajectory.dcd</span>
|
|
3552
|
+
<a id="__codelineno-29-20" name="__codelineno-29-20" href="#__codelineno-29-20"></a><span class="nt">ghost_water_filename</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">ghost_water_state.txt</span>
|
|
3553
|
+
<a id="__codelineno-29-21" name="__codelineno-29-21" href="#__codelineno-29-21"></a><span class="nt">checkpoint_filename</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">gcmc_checkpoint.chk</span>
|
|
3554
|
+
<a id="__codelineno-29-22" name="__codelineno-29-22" href="#__codelineno-29-22"></a><span class="nt">hydrated_complex_filename</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">hydrated_complex.pdb</span>
|
|
3555
|
+
<a id="__codelineno-29-23" name="__codelineno-29-23" href="#__codelineno-29-23"></a><span class="nt">gcmc_summary_filename</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">gcmc_summary.json</span>
|
|
3556
|
+
<a id="__codelineno-29-24" name="__codelineno-29-24" href="#__codelineno-29-24"></a><span class="nt">representative_complex_filename</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">representative_complex.pdb</span>
|
|
3557
|
+
<a id="__codelineno-29-25" name="__codelineno-29-25" href="#__codelineno-29-25"></a><span class="nt">representative_protein_filename</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">representative_protein.pdb</span>
|
|
3558
|
+
<a id="__codelineno-29-26" name="__codelineno-29-26" href="#__codelineno-29-26"></a><span class="nt">representative_ligand_filename</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">representative_ligand.sdf</span>
|
|
3559
|
+
<a id="__codelineno-29-27" name="__codelineno-29-27" href="#__codelineno-29-27"></a><span class="nt">selection_summary_filename</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">selection_summary.json</span>
|
|
3560
|
+
</code></pre></div>
|
|
3561
|
+
<p>Python:</p>
|
|
3562
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-30-1" name="__codelineno-30-1" href="#__codelineno-30-1"></a><span class="kn">from</span><span class="w"> </span><span class="nn">caddforge.core.execution</span><span class="w"> </span><span class="kn">import</span> <span class="n">load_result_for_job</span><span class="p">,</span> <span class="n">submit_workflow</span>
|
|
3563
|
+
<a id="__codelineno-30-2" name="__codelineno-30-2" href="#__codelineno-30-2"></a><span class="kn">from</span><span class="w"> </span><span class="nn">caddforge.plugins</span><span class="w"> </span><span class="kn">import</span> <span class="n">get_tool</span>
|
|
3564
|
+
<a id="__codelineno-30-3" name="__codelineno-30-3" href="#__codelineno-30-3"></a>
|
|
3565
|
+
<a id="__codelineno-30-4" name="__codelineno-30-4" href="#__codelineno-30-4"></a><span class="n">spec</span> <span class="o">=</span> <span class="n">get_tool</span><span class="p">(</span><span class="s2">"md"</span><span class="p">,</span> <span class="s2">"grand"</span><span class="p">)</span>
|
|
3566
|
+
<a id="__codelineno-30-5" name="__codelineno-30-5" href="#__codelineno-30-5"></a><span class="n">cfg</span> <span class="o">=</span> <span class="n">spec</span><span class="o">.</span><span class="n">config_cls</span><span class="p">(</span>
|
|
3567
|
+
<a id="__codelineno-30-6" name="__codelineno-30-6" href="#__codelineno-30-6"></a> <span class="n">complex_pdb_path</span><span class="o">=</span><span class="s2">"data/complex.pdb"</span><span class="p">,</span>
|
|
3568
|
+
<a id="__codelineno-30-7" name="__codelineno-30-7" href="#__codelineno-30-7"></a> <span class="n">ligand_template_sdf</span><span class="o">=</span><span class="s2">"data/ligand_template.sdf"</span><span class="p">,</span>
|
|
3569
|
+
<a id="__codelineno-30-8" name="__codelineno-30-8" href="#__codelineno-30-8"></a> <span class="n">ligand_resname</span><span class="o">=</span><span class="s2">"LIG"</span><span class="p">,</span>
|
|
3570
|
+
<a id="__codelineno-30-9" name="__codelineno-30-9" href="#__codelineno-30-9"></a> <span class="n">sphere_radius_angstrom</span><span class="o">=</span><span class="mf">10.0</span><span class="p">,</span>
|
|
3571
|
+
<a id="__codelineno-30-10" name="__codelineno-30-10" href="#__codelineno-30-10"></a> <span class="n">frame_analysis_interval</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span>
|
|
3572
|
+
<a id="__codelineno-30-11" name="__codelineno-30-11" href="#__codelineno-30-11"></a> <span class="n">backend</span><span class="o">=</span><span class="s2">"local"</span><span class="p">,</span>
|
|
3573
|
+
<a id="__codelineno-30-12" name="__codelineno-30-12" href="#__codelineno-30-12"></a><span class="p">)</span>
|
|
3574
|
+
<a id="__codelineno-30-13" name="__codelineno-30-13" href="#__codelineno-30-13"></a><span class="n">workflow</span> <span class="o">=</span> <span class="n">spec</span><span class="o">.</span><span class="n">workflow_cls</span><span class="p">(</span><span class="n">cfg</span><span class="p">)</span>
|
|
3575
|
+
<a id="__codelineno-30-14" name="__codelineno-30-14" href="#__codelineno-30-14"></a><span class="n">job</span> <span class="o">=</span> <span class="n">submit_workflow</span><span class="p">(</span>
|
|
3576
|
+
<a id="__codelineno-30-15" name="__codelineno-30-15" href="#__codelineno-30-15"></a> <span class="n">workflow</span><span class="p">,</span> <span class="n">cfg</span><span class="p">,</span> <span class="n">backend_name</span><span class="o">=</span><span class="n">cfg</span><span class="o">.</span><span class="n">backend</span><span class="p">,</span>
|
|
3577
|
+
<a id="__codelineno-30-16" name="__codelineno-30-16" href="#__codelineno-30-16"></a> <span class="n">input_ports</span><span class="o">=</span><span class="nb">tuple</span><span class="p">(</span><span class="nb">getattr</span><span class="p">(</span><span class="n">spec</span><span class="o">.</span><span class="n">plugin</span><span class="p">,</span> <span class="s2">"input_ports"</span><span class="p">,</span> <span class="p">())),</span>
|
|
3578
|
+
<a id="__codelineno-30-17" name="__codelineno-30-17" href="#__codelineno-30-17"></a><span class="p">)</span>
|
|
3579
|
+
<a id="__codelineno-30-18" name="__codelineno-30-18" href="#__codelineno-30-18"></a><span class="n">result</span> <span class="o">=</span> <span class="n">load_result_for_job</span><span class="p">(</span><span class="n">job</span><span class="p">)</span>
|
|
3580
|
+
<a id="__codelineno-30-19" name="__codelineno-30-19" href="#__codelineno-30-19"></a><span class="k">if</span> <span class="n">result</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
|
|
3581
|
+
<a id="__codelineno-30-20" name="__codelineno-30-20" href="#__codelineno-30-20"></a> <span class="nb">print</span><span class="p">(</span><span class="n">result</span><span class="o">.</span><span class="n">metrics</span><span class="p">)</span>
|
|
3582
|
+
</code></pre></div>
|
|
3583
|
+
<h3 id="configuration-options">Configuration options<a class="headerlink" href="#configuration-options" title="Permanent link">¶</a></h3>
|
|
3584
|
+
<p>GCMC sampling:</p>
|
|
3585
|
+
<ul>
|
|
3586
|
+
<li><code>complex_pdb_path</code>: input protein-ligand complex PDB (required, must exist, <code>.pdb</code>).</li>
|
|
3587
|
+
<li><code>ligand_template_sdf</code>: ligand template SDF providing bond orders and chemistry for ligand export
|
|
3588
|
+
(required, must exist, <code>.sdf</code>/<code>.sd</code>).</li>
|
|
3589
|
+
<li><code>ligand_resname</code>: residue name identifying the ligand in the complex (required, 1-4 characters, no
|
|
3590
|
+
whitespace or path separators). Used by both stages.</li>
|
|
3591
|
+
<li><code>sphere_radius_angstrom</code>: radius of the ligand-centred sampling region (default <code>10.0</code>, <code>> 0</code>).</li>
|
|
3592
|
+
<li><code>n_ghost_waters</code>: number of ghost waters added for insertion/deletion (default <code>150</code>, <code>>= 1</code>).</li>
|
|
3593
|
+
<li><code>nonbonded_cutoff_nm</code>: nonbonded interaction cutoff in nanometres (default <code>0.9</code>, <code>> 0</code>).</li>
|
|
3594
|
+
<li><code>temperature_kelvin</code>: simulation temperature in kelvin (default <code>300.0</code>, <code>> 0</code>).</li>
|
|
3595
|
+
<li><code>initialization_passes</code>: equilibration passes before production sampling (default <code>7500</code>, <code>>= 1</code>).</li>
|
|
3596
|
+
<li><code>max_production_passes</code>: maximum production passes (default <code>100000</code>, <code>>= 1</code>).</li>
|
|
3597
|
+
<li><code>ph</code>: pH used when adding hydrogens during preparation (default <code>7.4</code>).</li>
|
|
3598
|
+
<li><code>padding_nm</code>: solvent box padding in nanometres (default <code>1.2</code>, <code>> 0</code>).</li>
|
|
3599
|
+
<li><code>ionic_strength_molar</code>: ionic strength in molar used when solvating (default <code>0.15</code>, <code>>= 0</code>).</li>
|
|
3600
|
+
</ul>
|
|
3601
|
+
<p>Representative selection:</p>
|
|
3602
|
+
<ul>
|
|
3603
|
+
<li><code>ligand_selection</code>: atom selection for the ligand. Derived from <code>ligand_resname</code>
|
|
3604
|
+
(<code>resname <ligand_resname></code>) when left unset.</li>
|
|
3605
|
+
<li><code>align_selection</code>: optional atom selection used to align frames; blank is normalized to none.</li>
|
|
3606
|
+
<li><code>frame_analysis_interval</code>: analyse every Nth trajectory frame (default <code>1</code>, positive integer).</li>
|
|
3607
|
+
</ul>
|
|
3608
|
+
<p>Log syncing and output:</p>
|
|
3609
|
+
<ul>
|
|
3610
|
+
<li><code>log_sync_interval_seconds</code>: interval between periodic log-sync copies (default <code>30</code>, <code>1</code>-<code>3600</code>
|
|
3611
|
+
inclusive).</li>
|
|
3612
|
+
<li><code>output_dir_name</code>: directory under <code>results/</code> that holds stage outputs (default <code>output</code>, no path
|
|
3613
|
+
separators).</li>
|
|
3614
|
+
<li>Output filename fields (<code>trajectory_filename</code>, <code>ghost_water_filename</code>, <code>checkpoint_filename</code>,
|
|
3615
|
+
<code>hydrated_complex_filename</code>, <code>gcmc_summary_filename</code>, <code>representative_complex_filename</code>,
|
|
3616
|
+
<code>representative_protein_filename</code>, <code>representative_ligand_filename</code>, <code>selection_summary_filename</code>):
|
|
3617
|
+
plain filenames only, each with a documented default.</li>
|
|
3618
|
+
</ul>
|
|
3619
|
+
<p>All input file paths are validated and normalized to absolute paths at configuration time, so
|
|
3620
|
+
invalid inputs are reported before any compute job is submitted and inputs resolve correctly when
|
|
3621
|
+
the run executes from a scratch directory.</p>
|
|
3622
|
+
<h3 id="slurm-scratch-execution">Slurm scratch execution<a class="headerlink" href="#slurm-scratch-execution" title="Permanent link">¶</a></h3>
|
|
3623
|
+
<p>On the Slurm backend under an allocated runtime, the workflow executes both stages inside a
|
|
3624
|
+
node-local scratch working directory (rooted at <code>SLURM_TMPDIR</code>) rather than on shared storage, so
|
|
3625
|
+
intermediate I/O does not stress the shared filesystem. When both stages finish successfully, the
|
|
3626
|
+
complete produced output directory is copied back from scratch to the job directory results output
|
|
3627
|
+
directory, preserving its relative structure, and a completeness check verifies every produced file
|
|
3628
|
+
was reproduced. If a stage fails after producing some outputs, those partial outputs are copied back
|
|
3629
|
+
on a best-effort basis and the result records whether the partial copy succeeded. The scratch
|
|
3630
|
+
working directory is removed after the copy-back attempt. When not running under an allocated
|
|
3631
|
+
runtime (for example on the local backend), both stages execute directly in the job directory
|
|
3632
|
+
results output directory and no copy-back is needed.</p>
|
|
3633
|
+
<h3 id="log-syncing">Log syncing<a class="headerlink" href="#log-syncing" title="Permanent link">¶</a></h3>
|
|
3634
|
+
<p>During long runs under an allocated runtime, the stdout and stderr logs are written in the scratch
|
|
3635
|
+
working directory and periodically copied back to the job directory once per
|
|
3636
|
+
<code>log_sync_interval_seconds</code>, so you can monitor progress while the job is still running. Log-sync
|
|
3637
|
+
copying is resilient: a temporary copy failure is logged as a warning and never crashes the job or
|
|
3638
|
+
changes its status, and the next copy is attempted at the following interval. When a stage finishes,
|
|
3639
|
+
whether it succeeds or fails, a final copy is performed so the job directory logs reflect the final
|
|
3640
|
+
state of the run.</p>
|
|
3641
|
+
<h3 id="outputs">Outputs<a class="headerlink" href="#outputs" title="Permanent link">¶</a></h3>
|
|
3642
|
+
<p>Stage outputs are written under <code>results/<output_dir_name>/</code>:</p>
|
|
3643
|
+
<ul>
|
|
3644
|
+
<li><code>gcmc_trajectory.dcd</code>: the GCMC sampling trajectory.</li>
|
|
3645
|
+
<li><code>ghost_water_state.txt</code>: per-frame ghost-water state file (one row per trajectory frame).</li>
|
|
3646
|
+
<li><code>gcmc_checkpoint.chk</code>: final-state checkpoint written before trajectory readback.</li>
|
|
3647
|
+
<li><code>hydrated_complex.pdb</code>: the hydrated-complex structure.</li>
|
|
3648
|
+
<li><code>gcmc_summary.json</code>: GCMC stage summary (produced paths, frame count, success/failure).</li>
|
|
3649
|
+
<li><code>representative_complex.pdb</code>: the selected representative protein-ligand-water complex.</li>
|
|
3650
|
+
<li><code>representative_protein.pdb</code>: optional protein-only representative structure.</li>
|
|
3651
|
+
<li><code>representative_ligand.sdf</code>: optional template-corrected representative ligand.</li>
|
|
3652
|
+
<li><code>selection_summary.json</code>: selection stage summary (selected frame index, success/failure).</li>
|
|
3653
|
+
<li><code>results/result_record.json</code> and <code>results/results.json</code>: the standardized result and a
|
|
3654
|
+
human-readable summary.</li>
|
|
3655
|
+
<li><code>results/progress.json</code>: best-effort stage, pass-count, acceptance-rate, water-count, and ETA
|
|
3656
|
+
snapshot.</li>
|
|
3657
|
+
</ul>
|
|
3658
|
+
<p>The standardized result exposes <code>representative_complex</code>, <code>representative_protein</code>,
|
|
3659
|
+
<code>representative_ligand</code>, <code>trajectory</code>, <code>checkpoint</code>, and <code>output_dir</code> as pipeline-ready result
|
|
3660
|
+
paths, and its <code>metrics</code> include <code>n_frames_sampled</code> and <code>representative_frame_index</code>.</p>
|
|
3661
|
+
<h2 id="compressed-inputs">Compressed inputs<a class="headerlink" href="#compressed-inputs" title="Permanent link">¶</a></h2>
|
|
3662
|
+
<p>Declared MD structure, molecule, topology, trajectory, checkpoint, and restart inputs may use a
|
|
3663
|
+
trailing <code>.gz</code>. CADDForge expands transparent wrappers at runtime while preserving the original
|
|
3664
|
+
paths. Plain inputs retain their existing behavior.</p>
|
|
3665
|
+
<h2 id="inducia"><code>inducia</code><a class="headerlink" href="#inducia" title="Permanent link">¶</a></h2>
|
|
3666
|
+
<p>Inducia is a composite induced-fit docking and pose-stability workflow built from PheSA, GNINA,
|
|
3667
|
+
GRAND, and OpenBPMD. One job accepts one three-dimensional query ligand; use pipeline scatter for a
|
|
3668
|
+
multi-record query library.</p>
|
|
3669
|
+
<p>The modes are:</p>
|
|
3670
|
+
<ul>
|
|
3671
|
+
<li><code>template</code>: run PheSA at the fixed pharmacophore-point weights 0.00 through 1.00 in steps of
|
|
3672
|
+
0.05, cluster the resulting poses by direct heavy-atom RMSD in the binding coordinate frame,
|
|
3673
|
+
identify clashing protein residues, and minimize each representative with those residues flexible
|
|
3674
|
+
in GNINA.</li>
|
|
3675
|
+
<li><code>independent</code>: run full flexible GNINA docking in an explicit box or autobox. The flexible-residue
|
|
3676
|
+
radius and maximum residue count are configurable.</li>
|
|
3677
|
+
</ul>
|
|
3678
|
+
<p>Every surviving GNINA pose is hydrated by GRAND. Hydrated poses with finite GNINA CNNscores are
|
|
3679
|
+
ordered from highest to lowest, and <code>openbpmd.max_input_complexes</code> limits how many continue to
|
|
3680
|
+
OpenBPMD. Final structures are ranked by ascending OpenBPMD CompScore.</p>
|
|
3681
|
+
<p>CLI:</p>
|
|
3682
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-31-1" name="__codelineno-31-1" href="#__codelineno-31-1"></a>caddforge<span class="w"> </span>show-config<span class="w"> </span>md<span class="w"> </span>inducia
|
|
3683
|
+
<a id="__codelineno-31-2" name="__codelineno-31-2" href="#__codelineno-31-2"></a>caddforge<span class="w"> </span>run<span class="w"> </span>md<span class="w"> </span>inducia<span class="w"> </span>--config<span class="w"> </span>inducia.yaml
|
|
3684
|
+
</code></pre></div>
|
|
3685
|
+
<p>Template-mode configuration shape:</p>
|
|
3686
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-32-1" name="__codelineno-32-1" href="#__codelineno-32-1"></a><span class="nt">mode</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">template</span>
|
|
3687
|
+
<a id="__codelineno-32-2" name="__codelineno-32-2" href="#__codelineno-32-2"></a><span class="nt">backend</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">local</span>
|
|
3688
|
+
<a id="__codelineno-32-3" name="__codelineno-32-3" href="#__codelineno-32-3"></a><span class="nt">receptor_pdb_path</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">data/receptor.pdb</span>
|
|
3689
|
+
<a id="__codelineno-32-4" name="__codelineno-32-4" href="#__codelineno-32-4"></a><span class="nt">query_ligand_sdf_path</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">data/query.sdf</span>
|
|
3690
|
+
<a id="__codelineno-32-5" name="__codelineno-32-5" href="#__codelineno-32-5"></a><span class="nt">template_ligand_sdf_path</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">data/known_binder.sdf</span>
|
|
3691
|
+
<a id="__codelineno-32-6" name="__codelineno-32-6" href="#__codelineno-32-6"></a><span class="nt">ligand_resname</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">LIG</span>
|
|
3692
|
+
<a id="__codelineno-32-7" name="__codelineno-32-7" href="#__codelineno-32-7"></a><span class="nt">max_local_workers</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">1</span>
|
|
3693
|
+
<a id="__codelineno-32-8" name="__codelineno-32-8" href="#__codelineno-32-8"></a><span class="nt">phesa</span><span class="p">:</span>
|
|
3694
|
+
<a id="__codelineno-32-9" name="__codelineno-32-9" href="#__codelineno-32-9"></a><span class="w"> </span><span class="nt">max_confs</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">200</span>
|
|
3695
|
+
<a id="__codelineno-32-10" name="__codelineno-32-10" href="#__codelineno-32-10"></a><span class="nt">clustering</span><span class="p">:</span>
|
|
3696
|
+
<a id="__codelineno-32-11" name="__codelineno-32-11" href="#__codelineno-32-11"></a><span class="w"> </span><span class="nt">rmsd_cutoff_angstrom</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">1.0</span>
|
|
3697
|
+
<a id="__codelineno-32-12" name="__codelineno-32-12" href="#__codelineno-32-12"></a><span class="nt">clash_detection</span><span class="p">:</span>
|
|
3698
|
+
<a id="__codelineno-32-13" name="__codelineno-32-13" href="#__codelineno-32-13"></a><span class="w"> </span><span class="nt">allowed_vdw_overlap_angstrom</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">0.4</span>
|
|
3699
|
+
<a id="__codelineno-32-14" name="__codelineno-32-14" href="#__codelineno-32-14"></a><span class="nt">gnina</span><span class="p">:</span>
|
|
3700
|
+
<a id="__codelineno-32-15" name="__codelineno-32-15" href="#__codelineno-32-15"></a><span class="w"> </span><span class="nt">cnn_scoring</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">rescore</span>
|
|
3701
|
+
<a id="__codelineno-32-16" name="__codelineno-32-16" href="#__codelineno-32-16"></a><span class="w"> </span><span class="nt">pose_sort_order</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">CNNscore</span>
|
|
3702
|
+
<a id="__codelineno-32-17" name="__codelineno-32-17" href="#__codelineno-32-17"></a><span class="nt">grand</span><span class="p">:</span>
|
|
3703
|
+
<a id="__codelineno-32-18" name="__codelineno-32-18" href="#__codelineno-32-18"></a><span class="w"> </span><span class="nt">sphere_radius_angstrom</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">10.0</span>
|
|
3704
|
+
<a id="__codelineno-32-19" name="__codelineno-32-19" href="#__codelineno-32-19"></a><span class="w"> </span><span class="nt">n_ghost_waters</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">150</span>
|
|
3705
|
+
<a id="__codelineno-32-20" name="__codelineno-32-20" href="#__codelineno-32-20"></a><span class="w"> </span><span class="nt">initialization_passes</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">7500</span>
|
|
3706
|
+
<a id="__codelineno-32-21" name="__codelineno-32-21" href="#__codelineno-32-21"></a><span class="w"> </span><span class="nt">max_production_passes</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">100000</span>
|
|
3707
|
+
<a id="__codelineno-32-22" name="__codelineno-32-22" href="#__codelineno-32-22"></a><span class="nt">openbpmd</span><span class="p">:</span>
|
|
3708
|
+
<a id="__codelineno-32-23" name="__codelineno-32-23" href="#__codelineno-32-23"></a><span class="w"> </span><span class="nt">max_input_complexes</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">null</span>
|
|
3709
|
+
<a id="__codelineno-32-24" name="__codelineno-32-24" href="#__codelineno-32-24"></a><span class="w"> </span><span class="nt">nreps</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">10</span>
|
|
3710
|
+
<a id="__codelineno-32-25" name="__codelineno-32-25" href="#__codelineno-32-25"></a><span class="w"> </span><span class="nt">hill_height</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">0.05</span>
|
|
3711
|
+
<a id="__codelineno-32-26" name="__codelineno-32-26" href="#__codelineno-32-26"></a><span class="w"> </span><span class="nt">deposit_interval_ps</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">1.0</span>
|
|
3712
|
+
<a id="__codelineno-32-27" name="__codelineno-32-27" href="#__codelineno-32-27"></a><span class="nt">progress</span><span class="p">:</span>
|
|
3713
|
+
<a id="__codelineno-32-28" name="__codelineno-32-28" href="#__codelineno-32-28"></a><span class="w"> </span><span class="nt">interval_seconds</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">30</span>
|
|
3714
|
+
</code></pre></div>
|
|
3715
|
+
<p>Independent mode replaces <code>template_ligand_sdf_path</code> with either <code>autobox_ligand_path</code> or both
|
|
3716
|
+
<code>box_center</code> and <code>box_size</code>. Its GNINA settings include
|
|
3717
|
+
<code>independent_flex_radius_angstrom</code> (default <code>3.5</code>) and
|
|
3718
|
+
<code>independent_max_flexible_residues</code> (default <code>12</code>).</p>
|
|
3719
|
+
<p>Child phases use at most <code>max_local_workers</code> locally. With Slurm, all siblings in a phase are
|
|
3720
|
+
submitted before monitoring begins. Parent stdout records phase lifecycle, child IDs and statuses,
|
|
3721
|
+
heartbeats, concise child progress, completion, and failure information. Follow it with
|
|
3722
|
+
<code>caddforge logs <job-id> --follow</code>; detailed command logs remain in the child directories.</p>
|
|
3723
|
+
<p>Structured events are written to <code>results/inducia_progress.jsonl</code>. Temporary registry or shared
|
|
3724
|
+
filesystem failures are treated as monitoring outages and retried. Allocated-runtime publication
|
|
3725
|
+
copies file content without filesystem metadata for CIFS compatibility and verifies it by SHA-256.</p>
|
|
3726
|
+
<p>Primary outputs are <code>best_complex</code>, <code>best_protein</code>, <code>best_ligand</code>, <code>ranking_table</code>,
|
|
3727
|
+
<code>pose_manifest</code>, ranked complex/protein/ligand path collections, and <code>output_dir</code>. The complete pose
|
|
3728
|
+
manifest retains PheSA scores, cluster membership, flexible residues, all child jobs and statuses,
|
|
3729
|
+
CNNscore shortlist rank, GRAND/OpenBPMD artifacts, CompScore, and failure provenance.</p>
|
|
3730
|
+
<p>Inducia requires <code>caddforge-core>=0.21.0</code>, <code>caddforge-descriptors>=0.8.0</code>, and
|
|
3731
|
+
<code>caddforge-docking>=0.3.0</code>, plus the external scientific runtimes required by PheSA, GNINA, GRAND,
|
|
3732
|
+
OpenMM, AmberTools, and OpenBPMD.</p>
|
|
3733
|
+
|
|
3734
|
+
|
|
3735
|
+
|
|
3736
|
+
|
|
3737
|
+
|
|
3738
|
+
|
|
3739
|
+
|
|
3740
|
+
|
|
3741
|
+
|
|
3742
|
+
|
|
3743
|
+
|
|
3744
|
+
|
|
3745
|
+
|
|
3746
|
+
</article>
|
|
3747
|
+
</div>
|
|
3748
|
+
|
|
3749
|
+
|
|
3750
|
+
<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script>
|
|
3751
|
+
</div>
|
|
3752
|
+
|
|
3753
|
+
<button type="button" class="md-top md-icon" data-md-component="top" hidden>
|
|
3754
|
+
|
|
3755
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z"/></svg>
|
|
3756
|
+
Back to top
|
|
3757
|
+
</button>
|
|
3758
|
+
|
|
3759
|
+
</main>
|
|
3760
|
+
|
|
3761
|
+
<footer class="md-footer">
|
|
3762
|
+
|
|
3763
|
+
<div class="md-footer-meta md-typeset">
|
|
3764
|
+
<div class="md-footer-meta__inner md-grid">
|
|
3765
|
+
<div class="md-copyright">
|
|
3766
|
+
|
|
3767
|
+
|
|
3768
|
+
Made with
|
|
3769
|
+
<a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener">
|
|
3770
|
+
Material for MkDocs
|
|
3771
|
+
</a>
|
|
3772
|
+
|
|
3773
|
+
</div>
|
|
3774
|
+
|
|
3775
|
+
</div>
|
|
3776
|
+
</div>
|
|
3777
|
+
</footer>
|
|
3778
|
+
|
|
3779
|
+
</div>
|
|
3780
|
+
<div class="md-dialog" data-md-component="dialog">
|
|
3781
|
+
<div class="md-dialog__inner md-typeset"></div>
|
|
3782
|
+
</div>
|
|
3783
|
+
|
|
3784
|
+
|
|
3785
|
+
|
|
3786
|
+
|
|
3787
|
+
|
|
3788
|
+
<script id="__config" type="application/json">{"annotate": null, "base": "../..", "features": ["navigation.instant", "navigation.sections", "navigation.indexes", "navigation.top", "search.highlight", "search.suggest", "content.code.copy"], "search": "../../assets/javascripts/workers/search.2c215733.min.js", "tags": null, "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": null}</script>
|
|
3789
|
+
|
|
3790
|
+
|
|
3791
|
+
<script src="../../assets/javascripts/bundle.d7400e89.min.js"></script>
|
|
3792
|
+
|
|
3793
|
+
|
|
3794
|
+
</body>
|
|
3795
|
+
</html>
|