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.
Files changed (152) hide show
  1. caddforge_docs/__init__.py +1 -0
  2. caddforge_docs/cli.py +20 -0
  3. caddforge_docs/server.py +124 -0
  4. caddforge_docs/site/404.html +2118 -0
  5. caddforge_docs/site/assets/_mkdocstrings.css +237 -0
  6. caddforge_docs/site/assets/images/favicon.png +0 -0
  7. caddforge_docs/site/assets/javascripts/bundle.d7400e89.min.js +16 -0
  8. caddforge_docs/site/assets/javascripts/bundle.d7400e89.min.js.map +7 -0
  9. caddforge_docs/site/assets/javascripts/workers/search.2c215733.min.js +42 -0
  10. caddforge_docs/site/assets/javascripts/workers/search.2c215733.min.js.map +7 -0
  11. caddforge_docs/site/assets/licenses/W3C-Software-and-Document-2015.txt +15 -0
  12. caddforge_docs/site/assets/licenses/autogrid-COPYING-GPL-2.txt +339 -0
  13. caddforge_docs/site/assets/licenses/autogrid-GCC-RUNTIME-COPYING-GPL-3.txt +674 -0
  14. caddforge_docs/site/assets/licenses/autogrid-GCC-RUNTIME-EXCEPTION.txt +73 -0
  15. caddforge_docs/site/assets/licenses/autogrid-GCC-RUNTIME-NOTICE.txt +24 -0
  16. caddforge_docs/site/assets/licenses/caddforge-opencosmors-COPYING.txt +674 -0
  17. caddforge_docs/site/assets/licenses/caddforge-opencosmors-LICENSE.txt +165 -0
  18. caddforge_docs/site/assets/licenses/caddforge-unidock-tools-LICENSE.txt +202 -0
  19. caddforge_docs/site/assets/licenses/clipboard-LICENSE.txt +19 -0
  20. caddforge_docs/site/assets/licenses/escape-html-LICENSE.txt +2 -0
  21. caddforge_docs/site/assets/licenses/focus-visible-LICENSE.txt +4 -0
  22. caddforge_docs/site/assets/licenses/fontawesome-LICENSE.txt +165 -0
  23. caddforge_docs/site/assets/licenses/fuzzaldrin-plus-LICENSE.txt +21 -0
  24. caddforge_docs/site/assets/licenses/lunr-LICENSE.txt +17 -0
  25. caddforge_docs/site/assets/licenses/material-LICENSE.txt +20 -0
  26. caddforge_docs/site/assets/licenses/material-design-color-LICENSE.txt +31 -0
  27. caddforge_docs/site/assets/licenses/material-shadows-LICENSE.txt +31 -0
  28. caddforge_docs/site/assets/licenses/mkdocs-material-LICENSE.txt +19 -0
  29. caddforge_docs/site/assets/licenses/mkdocs-material-extensions-LICENSE.txt +21 -0
  30. caddforge_docs/site/assets/licenses/mkdocs-section-index-LICENSE.txt +21 -0
  31. caddforge_docs/site/assets/licenses/mkdocstrings-LICENSE.txt +15 -0
  32. caddforge_docs/site/assets/licenses/mkdocstrings-python-LICENSE.txt +15 -0
  33. caddforge_docs/site/assets/licenses/octicons-LICENSE.txt +21 -0
  34. caddforge_docs/site/assets/licenses/preact-LICENSE.txt +19 -0
  35. caddforge_docs/site/assets/licenses/properdocs-LICENSE.txt +26 -0
  36. caddforge_docs/site/assets/licenses/pymdown-extensions-LICENSE.txt +113 -0
  37. caddforge_docs/site/assets/licenses/rxjs-LICENSE.txt +180 -0
  38. caddforge_docs/site/assets/licenses/simple-LICENSE.txt +30 -0
  39. caddforge_docs/site/assets/licenses/tiny-emitter-LICENSE.txt +19 -0
  40. caddforge_docs/site/assets/licenses/tslib-LICENSE.txt +12 -0
  41. caddforge_docs/site/assets/licenses/zeno-rocha-components-LICENSE.txt +22 -0
  42. caddforge_docs/site/assets/stylesheets/main.ec1eaa64.min.css +1 -0
  43. caddforge_docs/site/assets/stylesheets/main.ec1eaa64.min.css.map +1 -0
  44. caddforge_docs/site/assets/stylesheets/palette.ab4e12ef.min.css +1 -0
  45. caddforge_docs/site/assets/stylesheets/palette.ab4e12ef.min.css.map +1 -0
  46. caddforge_docs/site/core/cli/index.html +2446 -0
  47. caddforge_docs/site/core/concepts/index.html +2340 -0
  48. caddforge_docs/site/core/configuration/index.html +2300 -0
  49. caddforge_docs/site/core/index.html +2170 -0
  50. caddforge_docs/site/core/jobs-results/index.html +2315 -0
  51. caddforge_docs/site/core/plugins/index.html +2200 -0
  52. caddforge_docs/site/core/slurm/index.html +2562 -0
  53. caddforge_docs/site/development/ci-publishing/index.html +2345 -0
  54. caddforge_docs/site/development/contributing/index.html +2311 -0
  55. caddforge_docs/site/development/documentation/index.html +2380 -0
  56. caddforge_docs/site/development/index.html +2201 -0
  57. caddforge_docs/site/development/release-notes/index.html +2504 -0
  58. caddforge_docs/site/development/release-readiness/index.html +2333 -0
  59. caddforge_docs/site/development/security/index.html +2181 -0
  60. caddforge_docs/site/development/tool-authoring/index.html +2435 -0
  61. caddforge_docs/site/examples/index.html +2465 -0
  62. caddforge_docs/site/examples/manifest.json +158 -0
  63. caddforge_docs/site/examples/minimize/component_overrides.yaml +14 -0
  64. caddforge_docs/site/examples/minimize/ligand_only.yaml +13 -0
  65. caddforge_docs/site/examples/minimize/pipeline_docking.yaml +84 -0
  66. caddforge_docs/site/examples/minimize/pipeline_scatter.yaml +49 -0
  67. caddforge_docs/site/examples/minimize/pocket_free_shell_restrained.yaml +13 -0
  68. caddforge_docs/site/examples/minimize/pocket_restrained.yaml +13 -0
  69. caddforge_docs/site/examples/minimize/prepared_metal.yaml +14 -0
  70. caddforge_docs/site/examples/minimize/sidechains_free_backbone_fixed.yaml +13 -0
  71. caddforge_docs/site/examples/minimize/sidechains_free_backbone_restrained.yaml +13 -0
  72. caddforge_docs/site/examples/pipelines/descriptor-model-and-candidate-filter.yaml +44 -0
  73. caddforge_docs/site/examples/pipelines/dock-extract-and-minimize-poses.yaml +85 -0
  74. caddforge_docs/site/examples/pipelines/docking-screen-and-rescore.yaml +55 -0
  75. caddforge_docs/site/examples/pipelines/flexible-gnina-to-openbpmd-to-md-to-abfe.yaml +189 -0
  76. caddforge_docs/site/examples/pipelines/gnina-flexible-complex-artifacts.yaml +52 -0
  77. caddforge_docs/site/examples/pipelines/minimize-a-multi-pose-sdf.yaml +46 -0
  78. caddforge_docs/site/examples/pipelines/pose-level-md-selection.yaml +95 -0
  79. caddforge_docs/site/examples/pipelines/result-collection-and-diagnostics.yaml +55 -0
  80. caddforge_docs/site/examples/quickstart/diagnostics.yaml +8 -0
  81. caddforge_docs/site/examples/quickstart/index.html +2172 -0
  82. caddforge_docs/site/examples/quickstart/pipeline.yaml +23 -0
  83. caddforge_docs/site/examples/quickstart/run.py +18 -0
  84. caddforge_docs/site/examples/quickstart/run_pipeline.py +6 -0
  85. caddforge_docs/site/examples/quickstart/scores.csv +7 -0
  86. caddforge_docs/site/examples/quickstart/values.csv +31 -0
  87. caddforge_docs/site/examples/run_tool.py +40 -0
  88. caddforge_docs/site/examples/tools/datascience-csv-scatter.yaml +17 -0
  89. caddforge_docs/site/examples/tools/datascience-distribution-diagnostics.yaml +10 -0
  90. caddforge_docs/site/examples/tools/descriptors-ani-conformers.yaml +9 -0
  91. caddforge_docs/site/examples/tools/descriptors-ani-psa.yaml +9 -0
  92. caddforge_docs/site/examples/tools/descriptors-cluster-molecules.yaml +11 -0
  93. caddforge_docs/site/examples/tools/descriptors-phesa.yaml +7 -0
  94. caddforge_docs/site/examples/tools/docking-gnina.yaml +12 -0
  95. caddforge_docs/site/examples/tools/docking-idockya.yaml +8 -0
  96. caddforge_docs/site/examples/tools/docking-unidock.yaml +12 -0
  97. caddforge_docs/site/examples/tools/fep-openfe-abfe.yaml +53 -0
  98. caddforge_docs/site/examples/tools/fep-openfe-rbfe-septop.yaml +23 -0
  99. caddforge_docs/site/examples/tools/md-center-and-align.yaml +16 -0
  100. caddforge_docs/site/examples/tools/md-cluster-representative.yaml +16 -0
  101. caddforge_docs/site/examples/tools/md-extract-frames.yaml +17 -0
  102. caddforge_docs/site/examples/tools/md-fix-structure.yaml +20 -0
  103. caddforge_docs/site/examples/tools/md-grand.yaml +28 -0
  104. caddforge_docs/site/examples/tools/md-inducia.yaml +29 -0
  105. caddforge_docs/site/examples/tools/md-minimize.yaml +13 -0
  106. caddforge_docs/site/examples/tools/md-openbpmd.yaml +11 -0
  107. caddforge_docs/site/examples/tools/md-plain-md.yaml +28 -0
  108. caddforge_docs/site/examples/tools/ml-explore-classifier.yaml +5 -0
  109. caddforge_docs/site/examples/tools/ml-model-factory.yaml +32 -0
  110. caddforge_docs/site/examples/tools/ml-model-zoo.yaml +16 -0
  111. caddforge_docs/site/examples/tools/ml-pca.yaml +10 -0
  112. caddforge_docs/site/examples/tools/ml-simple-gp.yaml +17 -0
  113. caddforge_docs/site/examples/tools/qm-transfer-free-energy.yaml +11 -0
  114. caddforge_docs/site/explanation/references/index.html +2218 -0
  115. caddforge_docs/site/explanation/reproducibility/index.html +2306 -0
  116. caddforge_docs/site/explanation/third-party-notices/index.html +2599 -0
  117. caddforge_docs/site/getting-started/first-pipeline/index.html +2195 -0
  118. caddforge_docs/site/getting-started/first-workflow/index.html +2329 -0
  119. caddforge_docs/site/getting-started/index.html +2200 -0
  120. caddforge_docs/site/getting-started/installation/index.html +2541 -0
  121. caddforge_docs/site/gui/index.html +2267 -0
  122. caddforge_docs/site/gui/plugin-authoring/index.html +2280 -0
  123. caddforge_docs/site/gui/walkthrough/index.html +2181 -0
  124. caddforge_docs/site/how-to/jobs/index.html +2195 -0
  125. caddforge_docs/site/how-to/scatter/index.html +2193 -0
  126. caddforge_docs/site/how-to/troubleshooting/index.html +2429 -0
  127. caddforge_docs/site/index.html +2359 -0
  128. caddforge_docs/site/objects.inv +0 -0
  129. caddforge_docs/site/pipelines/artifacts/index.html +2314 -0
  130. caddforge_docs/site/pipelines/built-ins/index.html +2670 -0
  131. caddforge_docs/site/pipelines/examples/index.html +3186 -0
  132. caddforge_docs/site/pipelines/index.html +2164 -0
  133. caddforge_docs/site/pipelines/specification/index.html +2278 -0
  134. caddforge_docs/site/plugins/datascience/index.html +2405 -0
  135. caddforge_docs/site/plugins/descriptors/index.html +2609 -0
  136. caddforge_docs/site/plugins/docking/index.html +2480 -0
  137. caddforge_docs/site/plugins/fep/index.html +2508 -0
  138. caddforge_docs/site/plugins/index.html +2216 -0
  139. caddforge_docs/site/plugins/md/index.html +3795 -0
  140. caddforge_docs/site/plugins/ml/index.html +2815 -0
  141. caddforge_docs/site/plugins/qm/index.html +2309 -0
  142. caddforge_docs/site/plugins/version-matrix/index.html +2449 -0
  143. caddforge_docs/site/reference/api/index.html +4414 -0
  144. caddforge_docs/site/reference/index.html +2166 -0
  145. caddforge_docs/site/search/search_index.json +1 -0
  146. caddforge_docs/site/sitemap.xml +191 -0
  147. caddforge_docs/site/sitemap.xml.gz +0 -0
  148. caddforge_docs-0.3.0.dist-info/METADATA +158 -0
  149. caddforge_docs-0.3.0.dist-info/RECORD +152 -0
  150. caddforge_docs-0.3.0.dist-info/WHEEL +4 -0
  151. caddforge_docs-0.3.0.dist-info/entry_points.txt +2 -0
  152. caddforge_docs-0.3.0.dist-info/licenses/LICENSE +21 -0
@@ -0,0 +1,2314 @@
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/pipelines/artifacts/">
14
+
15
+
16
+ <link rel="prev" href="../specification/">
17
+
18
+
19
+ <link rel="next" href="../built-ins/">
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>Artifacts - 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="#artifacts" 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
+ Artifacts
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
+
865
+
866
+ <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested">
867
+
868
+
869
+
870
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5" checked>
871
+
872
+
873
+ <div class="md-nav__link md-nav__container">
874
+ <a href="../" class="md-nav__link ">
875
+
876
+
877
+
878
+ <span class="md-ellipsis">
879
+
880
+
881
+ Pipelines
882
+
883
+
884
+
885
+ </span>
886
+
887
+
888
+
889
+ </a>
890
+
891
+
892
+ <label class="md-nav__link " for="__nav_5" id="__nav_5_label" tabindex="">
893
+ <span class="md-nav__icon md-icon"></span>
894
+ </label>
895
+
896
+ </div>
897
+
898
+ <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_5_label" aria-expanded="true">
899
+ <label class="md-nav__title" for="__nav_5">
900
+ <span class="md-nav__icon md-icon"></span>
901
+
902
+
903
+ Pipelines
904
+
905
+
906
+ </label>
907
+ <ul class="md-nav__list" data-md-scrollfix>
908
+
909
+
910
+
911
+
912
+
913
+
914
+
915
+ <li class="md-nav__item">
916
+ <a href="../specification/" class="md-nav__link">
917
+
918
+
919
+
920
+ <span class="md-ellipsis">
921
+
922
+
923
+ Specification
924
+
925
+
926
+
927
+ </span>
928
+
929
+
930
+
931
+ </a>
932
+ </li>
933
+
934
+
935
+
936
+
937
+
938
+
939
+
940
+
941
+
942
+
943
+
944
+
945
+ <li class="md-nav__item md-nav__item--active">
946
+
947
+ <input class="md-nav__toggle md-toggle" type="checkbox" id="__toc">
948
+
949
+
950
+
951
+
952
+
953
+ <label class="md-nav__link md-nav__link--active" for="__toc">
954
+
955
+
956
+
957
+ <span class="md-ellipsis">
958
+
959
+
960
+ Artifacts
961
+
962
+
963
+
964
+ </span>
965
+
966
+
967
+
968
+ <span class="md-nav__icon md-icon"></span>
969
+ </label>
970
+
971
+ <a href="./" class="md-nav__link md-nav__link--active">
972
+
973
+
974
+
975
+ <span class="md-ellipsis">
976
+
977
+
978
+ Artifacts
979
+
980
+
981
+
982
+ </span>
983
+
984
+
985
+
986
+ </a>
987
+
988
+
989
+
990
+ <nav class="md-nav md-nav--secondary" aria-label="Table of contents">
991
+
992
+
993
+
994
+
995
+
996
+
997
+ <label class="md-nav__title" for="__toc">
998
+ <span class="md-nav__icon md-icon"></span>
999
+ Table of contents
1000
+ </label>
1001
+ <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
1002
+
1003
+ <li class="md-nav__item">
1004
+ <a href="#input-and-output-ports" class="md-nav__link">
1005
+ <span class="md-ellipsis">
1006
+
1007
+ Input and output ports
1008
+
1009
+ </span>
1010
+ </a>
1011
+
1012
+ </li>
1013
+
1014
+ <li class="md-nav__item">
1015
+ <a href="#scatter-provenance" class="md-nav__link">
1016
+ <span class="md-ellipsis">
1017
+
1018
+ Scatter provenance
1019
+
1020
+ </span>
1021
+ </a>
1022
+
1023
+ </li>
1024
+
1025
+ <li class="md-nav__item">
1026
+ <a href="#compressed-boundaries" class="md-nav__link">
1027
+ <span class="md-ellipsis">
1028
+
1029
+ Compressed boundaries
1030
+
1031
+ </span>
1032
+ </a>
1033
+
1034
+ </li>
1035
+
1036
+ </ul>
1037
+
1038
+ </nav>
1039
+
1040
+ </li>
1041
+
1042
+
1043
+
1044
+
1045
+
1046
+
1047
+
1048
+
1049
+
1050
+
1051
+ <li class="md-nav__item">
1052
+ <a href="../built-ins/" class="md-nav__link">
1053
+
1054
+
1055
+
1056
+ <span class="md-ellipsis">
1057
+
1058
+
1059
+ Built-in Stages
1060
+
1061
+
1062
+
1063
+ </span>
1064
+
1065
+
1066
+
1067
+ </a>
1068
+ </li>
1069
+
1070
+
1071
+
1072
+
1073
+
1074
+
1075
+
1076
+
1077
+
1078
+
1079
+ <li class="md-nav__item">
1080
+ <a href="../examples/" class="md-nav__link">
1081
+
1082
+
1083
+
1084
+ <span class="md-ellipsis">
1085
+
1086
+
1087
+ Examples
1088
+
1089
+
1090
+
1091
+ </span>
1092
+
1093
+
1094
+
1095
+ </a>
1096
+ </li>
1097
+
1098
+
1099
+
1100
+
1101
+ </ul>
1102
+ </nav>
1103
+
1104
+ </li>
1105
+
1106
+
1107
+
1108
+
1109
+
1110
+
1111
+
1112
+
1113
+
1114
+
1115
+
1116
+
1117
+
1118
+
1119
+
1120
+
1121
+
1122
+
1123
+
1124
+
1125
+
1126
+
1127
+
1128
+
1129
+
1130
+
1131
+
1132
+
1133
+
1134
+
1135
+
1136
+
1137
+
1138
+
1139
+
1140
+
1141
+
1142
+ <li class="md-nav__item md-nav__item--section md-nav__item--nested">
1143
+
1144
+
1145
+
1146
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6" >
1147
+
1148
+
1149
+ <div class="md-nav__link md-nav__container">
1150
+ <a href="../../plugins/" class="md-nav__link ">
1151
+
1152
+
1153
+
1154
+ <span class="md-ellipsis">
1155
+
1156
+
1157
+ Plugins
1158
+
1159
+
1160
+
1161
+ </span>
1162
+
1163
+
1164
+
1165
+ </a>
1166
+
1167
+
1168
+ <label class="md-nav__link " for="__nav_6" id="__nav_6_label" tabindex="">
1169
+ <span class="md-nav__icon md-icon"></span>
1170
+ </label>
1171
+
1172
+ </div>
1173
+
1174
+ <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_6_label" aria-expanded="false">
1175
+ <label class="md-nav__title" for="__nav_6">
1176
+ <span class="md-nav__icon md-icon"></span>
1177
+
1178
+
1179
+ Plugins
1180
+
1181
+
1182
+ </label>
1183
+ <ul class="md-nav__list" data-md-scrollfix>
1184
+
1185
+
1186
+
1187
+
1188
+
1189
+
1190
+
1191
+ <li class="md-nav__item">
1192
+ <a href="../../plugins/version-matrix/" class="md-nav__link">
1193
+
1194
+
1195
+
1196
+ <span class="md-ellipsis">
1197
+
1198
+
1199
+ Version Matrix
1200
+
1201
+
1202
+
1203
+ </span>
1204
+
1205
+
1206
+
1207
+ </a>
1208
+ </li>
1209
+
1210
+
1211
+
1212
+
1213
+
1214
+
1215
+
1216
+
1217
+
1218
+
1219
+ <li class="md-nav__item">
1220
+ <a href="../../plugins/docking/" class="md-nav__link">
1221
+
1222
+
1223
+
1224
+ <span class="md-ellipsis">
1225
+
1226
+
1227
+ Docking
1228
+
1229
+
1230
+
1231
+ </span>
1232
+
1233
+
1234
+
1235
+ </a>
1236
+ </li>
1237
+
1238
+
1239
+
1240
+
1241
+
1242
+
1243
+
1244
+
1245
+
1246
+
1247
+ <li class="md-nav__item">
1248
+ <a href="../../plugins/descriptors/" class="md-nav__link">
1249
+
1250
+
1251
+
1252
+ <span class="md-ellipsis">
1253
+
1254
+
1255
+ Descriptors
1256
+
1257
+
1258
+
1259
+ </span>
1260
+
1261
+
1262
+
1263
+ </a>
1264
+ </li>
1265
+
1266
+
1267
+
1268
+
1269
+
1270
+
1271
+
1272
+
1273
+
1274
+
1275
+ <li class="md-nav__item">
1276
+ <a href="../../plugins/md/" class="md-nav__link">
1277
+
1278
+
1279
+
1280
+ <span class="md-ellipsis">
1281
+
1282
+
1283
+ MD
1284
+
1285
+
1286
+
1287
+ </span>
1288
+
1289
+
1290
+
1291
+ </a>
1292
+ </li>
1293
+
1294
+
1295
+
1296
+
1297
+
1298
+
1299
+
1300
+
1301
+
1302
+
1303
+ <li class="md-nav__item">
1304
+ <a href="../../plugins/fep/" class="md-nav__link">
1305
+
1306
+
1307
+
1308
+ <span class="md-ellipsis">
1309
+
1310
+
1311
+ FEP
1312
+
1313
+
1314
+
1315
+ </span>
1316
+
1317
+
1318
+
1319
+ </a>
1320
+ </li>
1321
+
1322
+
1323
+
1324
+
1325
+
1326
+
1327
+
1328
+
1329
+
1330
+
1331
+ <li class="md-nav__item">
1332
+ <a href="../../plugins/qm/" class="md-nav__link">
1333
+
1334
+
1335
+
1336
+ <span class="md-ellipsis">
1337
+
1338
+
1339
+ QM
1340
+
1341
+
1342
+
1343
+ </span>
1344
+
1345
+
1346
+
1347
+ </a>
1348
+ </li>
1349
+
1350
+
1351
+
1352
+
1353
+
1354
+
1355
+
1356
+
1357
+
1358
+
1359
+ <li class="md-nav__item">
1360
+ <a href="../../plugins/ml/" class="md-nav__link">
1361
+
1362
+
1363
+
1364
+ <span class="md-ellipsis">
1365
+
1366
+
1367
+ ML
1368
+
1369
+
1370
+
1371
+ </span>
1372
+
1373
+
1374
+
1375
+ </a>
1376
+ </li>
1377
+
1378
+
1379
+
1380
+
1381
+
1382
+
1383
+
1384
+
1385
+
1386
+
1387
+ <li class="md-nav__item">
1388
+ <a href="../../plugins/datascience/" class="md-nav__link">
1389
+
1390
+
1391
+
1392
+ <span class="md-ellipsis">
1393
+
1394
+
1395
+ Data Science
1396
+
1397
+
1398
+
1399
+ </span>
1400
+
1401
+
1402
+
1403
+ </a>
1404
+ </li>
1405
+
1406
+
1407
+
1408
+
1409
+ </ul>
1410
+ </nav>
1411
+
1412
+ </li>
1413
+
1414
+
1415
+
1416
+
1417
+
1418
+
1419
+
1420
+
1421
+
1422
+
1423
+
1424
+
1425
+
1426
+
1427
+
1428
+
1429
+
1430
+
1431
+
1432
+
1433
+
1434
+
1435
+
1436
+
1437
+
1438
+ <li class="md-nav__item md-nav__item--section md-nav__item--nested">
1439
+
1440
+
1441
+
1442
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_7" >
1443
+
1444
+
1445
+ <div class="md-nav__link md-nav__container">
1446
+ <a href="../../gui/" class="md-nav__link ">
1447
+
1448
+
1449
+
1450
+ <span class="md-ellipsis">
1451
+
1452
+
1453
+ GUI
1454
+
1455
+
1456
+
1457
+ </span>
1458
+
1459
+
1460
+
1461
+ </a>
1462
+
1463
+
1464
+ <label class="md-nav__link " for="__nav_7" id="__nav_7_label" tabindex="">
1465
+ <span class="md-nav__icon md-icon"></span>
1466
+ </label>
1467
+
1468
+ </div>
1469
+
1470
+ <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_7_label" aria-expanded="false">
1471
+ <label class="md-nav__title" for="__nav_7">
1472
+ <span class="md-nav__icon md-icon"></span>
1473
+
1474
+
1475
+ GUI
1476
+
1477
+
1478
+ </label>
1479
+ <ul class="md-nav__list" data-md-scrollfix>
1480
+
1481
+
1482
+
1483
+
1484
+
1485
+
1486
+
1487
+ <li class="md-nav__item">
1488
+ <a href="../../gui/walkthrough/" class="md-nav__link">
1489
+
1490
+
1491
+
1492
+ <span class="md-ellipsis">
1493
+
1494
+
1495
+ Walkthrough
1496
+
1497
+
1498
+
1499
+ </span>
1500
+
1501
+
1502
+
1503
+ </a>
1504
+ </li>
1505
+
1506
+
1507
+
1508
+
1509
+
1510
+
1511
+
1512
+
1513
+
1514
+
1515
+ <li class="md-nav__item">
1516
+ <a href="../../gui/plugin-authoring/" class="md-nav__link">
1517
+
1518
+
1519
+
1520
+ <span class="md-ellipsis">
1521
+
1522
+
1523
+ Plugin GUI Authoring
1524
+
1525
+
1526
+
1527
+ </span>
1528
+
1529
+
1530
+
1531
+ </a>
1532
+ </li>
1533
+
1534
+
1535
+
1536
+
1537
+ </ul>
1538
+ </nav>
1539
+
1540
+ </li>
1541
+
1542
+
1543
+
1544
+
1545
+
1546
+
1547
+
1548
+
1549
+
1550
+
1551
+
1552
+
1553
+
1554
+
1555
+
1556
+
1557
+
1558
+
1559
+
1560
+
1561
+
1562
+
1563
+
1564
+
1565
+
1566
+
1567
+
1568
+ <li class="md-nav__item md-nav__item--section md-nav__item--nested">
1569
+
1570
+
1571
+
1572
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_8" >
1573
+
1574
+
1575
+ <div class="md-nav__link md-nav__container">
1576
+ <a href="../../reference/" class="md-nav__link ">
1577
+
1578
+
1579
+
1580
+ <span class="md-ellipsis">
1581
+
1582
+
1583
+ Reference
1584
+
1585
+
1586
+
1587
+ </span>
1588
+
1589
+
1590
+
1591
+ </a>
1592
+
1593
+
1594
+ <label class="md-nav__link " for="__nav_8" id="__nav_8_label" tabindex="">
1595
+ <span class="md-nav__icon md-icon"></span>
1596
+ </label>
1597
+
1598
+ </div>
1599
+
1600
+ <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_8_label" aria-expanded="false">
1601
+ <label class="md-nav__title" for="__nav_8">
1602
+ <span class="md-nav__icon md-icon"></span>
1603
+
1604
+
1605
+ Reference
1606
+
1607
+
1608
+ </label>
1609
+ <ul class="md-nav__list" data-md-scrollfix>
1610
+
1611
+
1612
+
1613
+
1614
+
1615
+
1616
+
1617
+ <li class="md-nav__item">
1618
+ <a href="../../reference/api/" class="md-nav__link">
1619
+
1620
+
1621
+
1622
+ <span class="md-ellipsis">
1623
+
1624
+
1625
+ Public Python API
1626
+
1627
+
1628
+
1629
+ </span>
1630
+
1631
+
1632
+
1633
+ </a>
1634
+ </li>
1635
+
1636
+
1637
+
1638
+
1639
+
1640
+
1641
+
1642
+
1643
+
1644
+
1645
+ <li class="md-nav__item">
1646
+ <a href="../../examples/" class="md-nav__link">
1647
+
1648
+
1649
+
1650
+ <span class="md-ellipsis">
1651
+
1652
+
1653
+ Example Library
1654
+
1655
+
1656
+
1657
+ </span>
1658
+
1659
+
1660
+
1661
+ </a>
1662
+ </li>
1663
+
1664
+
1665
+
1666
+
1667
+
1668
+
1669
+
1670
+
1671
+
1672
+
1673
+ <li class="md-nav__item">
1674
+ <a href="../../examples/quickstart/" class="md-nav__link">
1675
+
1676
+
1677
+
1678
+ <span class="md-ellipsis">
1679
+
1680
+
1681
+ Example Data Provenance
1682
+
1683
+
1684
+
1685
+ </span>
1686
+
1687
+
1688
+
1689
+ </a>
1690
+ </li>
1691
+
1692
+
1693
+
1694
+
1695
+ </ul>
1696
+ </nav>
1697
+
1698
+ </li>
1699
+
1700
+
1701
+
1702
+
1703
+
1704
+
1705
+
1706
+
1707
+
1708
+
1709
+
1710
+
1711
+
1712
+
1713
+
1714
+
1715
+
1716
+
1717
+
1718
+
1719
+
1720
+
1721
+
1722
+
1723
+
1724
+
1725
+
1726
+ <li class="md-nav__item md-nav__item--section md-nav__item--nested">
1727
+
1728
+
1729
+
1730
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_9" >
1731
+
1732
+
1733
+ <label class="md-nav__link" for="__nav_9" id="__nav_9_label" tabindex="">
1734
+
1735
+
1736
+
1737
+ <span class="md-ellipsis">
1738
+
1739
+
1740
+ Explanation
1741
+
1742
+
1743
+
1744
+ </span>
1745
+
1746
+
1747
+
1748
+ <span class="md-nav__icon md-icon"></span>
1749
+ </label>
1750
+
1751
+ <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_9_label" aria-expanded="false">
1752
+ <label class="md-nav__title" for="__nav_9">
1753
+ <span class="md-nav__icon md-icon"></span>
1754
+
1755
+
1756
+ Explanation
1757
+
1758
+
1759
+ </label>
1760
+ <ul class="md-nav__list" data-md-scrollfix>
1761
+
1762
+
1763
+
1764
+
1765
+
1766
+
1767
+
1768
+ <li class="md-nav__item">
1769
+ <a href="../../explanation/reproducibility/" class="md-nav__link">
1770
+
1771
+
1772
+
1773
+ <span class="md-ellipsis">
1774
+
1775
+
1776
+ Reproducibility
1777
+
1778
+
1779
+
1780
+ </span>
1781
+
1782
+
1783
+
1784
+ </a>
1785
+ </li>
1786
+
1787
+
1788
+
1789
+
1790
+
1791
+
1792
+
1793
+
1794
+
1795
+
1796
+ <li class="md-nav__item">
1797
+ <a href="../../explanation/references/" class="md-nav__link">
1798
+
1799
+
1800
+
1801
+ <span class="md-ellipsis">
1802
+
1803
+
1804
+ Method References
1805
+
1806
+
1807
+
1808
+ </span>
1809
+
1810
+
1811
+
1812
+ </a>
1813
+ </li>
1814
+
1815
+
1816
+
1817
+
1818
+
1819
+
1820
+
1821
+
1822
+
1823
+
1824
+ <li class="md-nav__item">
1825
+ <a href="../../explanation/third-party-notices/" class="md-nav__link">
1826
+
1827
+
1828
+
1829
+ <span class="md-ellipsis">
1830
+
1831
+
1832
+ Third-party Notices
1833
+
1834
+
1835
+
1836
+ </span>
1837
+
1838
+
1839
+
1840
+ </a>
1841
+ </li>
1842
+
1843
+
1844
+
1845
+
1846
+ </ul>
1847
+ </nav>
1848
+
1849
+ </li>
1850
+
1851
+
1852
+
1853
+
1854
+
1855
+
1856
+
1857
+
1858
+
1859
+
1860
+
1861
+
1862
+
1863
+
1864
+
1865
+
1866
+
1867
+
1868
+
1869
+
1870
+
1871
+
1872
+
1873
+
1874
+
1875
+
1876
+
1877
+
1878
+
1879
+
1880
+
1881
+
1882
+
1883
+
1884
+
1885
+ <li class="md-nav__item md-nav__item--section md-nav__item--nested">
1886
+
1887
+
1888
+
1889
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_10" >
1890
+
1891
+
1892
+ <div class="md-nav__link md-nav__container">
1893
+ <a href="../../development/" class="md-nav__link ">
1894
+
1895
+
1896
+
1897
+ <span class="md-ellipsis">
1898
+
1899
+
1900
+ Development
1901
+
1902
+
1903
+
1904
+ </span>
1905
+
1906
+
1907
+
1908
+ </a>
1909
+
1910
+
1911
+ <label class="md-nav__link " for="__nav_10" id="__nav_10_label" tabindex="">
1912
+ <span class="md-nav__icon md-icon"></span>
1913
+ </label>
1914
+
1915
+ </div>
1916
+
1917
+ <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_10_label" aria-expanded="false">
1918
+ <label class="md-nav__title" for="__nav_10">
1919
+ <span class="md-nav__icon md-icon"></span>
1920
+
1921
+
1922
+ Development
1923
+
1924
+
1925
+ </label>
1926
+ <ul class="md-nav__list" data-md-scrollfix>
1927
+
1928
+
1929
+
1930
+
1931
+
1932
+
1933
+
1934
+ <li class="md-nav__item">
1935
+ <a href="../../development/release-notes/" class="md-nav__link">
1936
+
1937
+
1938
+
1939
+ <span class="md-ellipsis">
1940
+
1941
+
1942
+ Release Notes
1943
+
1944
+
1945
+
1946
+ </span>
1947
+
1948
+
1949
+
1950
+ </a>
1951
+ </li>
1952
+
1953
+
1954
+
1955
+
1956
+
1957
+
1958
+
1959
+
1960
+
1961
+
1962
+ <li class="md-nav__item">
1963
+ <a href="../../development/tool-authoring/" class="md-nav__link">
1964
+
1965
+
1966
+
1967
+ <span class="md-ellipsis">
1968
+
1969
+
1970
+ Tool Authoring
1971
+
1972
+
1973
+
1974
+ </span>
1975
+
1976
+
1977
+
1978
+ </a>
1979
+ </li>
1980
+
1981
+
1982
+
1983
+
1984
+
1985
+
1986
+
1987
+
1988
+
1989
+
1990
+ <li class="md-nav__item">
1991
+ <a href="../../development/documentation/" class="md-nav__link">
1992
+
1993
+
1994
+
1995
+ <span class="md-ellipsis">
1996
+
1997
+
1998
+ Documentation
1999
+
2000
+
2001
+
2002
+ </span>
2003
+
2004
+
2005
+
2006
+ </a>
2007
+ </li>
2008
+
2009
+
2010
+
2011
+
2012
+
2013
+
2014
+
2015
+
2016
+
2017
+
2018
+ <li class="md-nav__item">
2019
+ <a href="../../development/contributing/" class="md-nav__link">
2020
+
2021
+
2022
+
2023
+ <span class="md-ellipsis">
2024
+
2025
+
2026
+ Contributing
2027
+
2028
+
2029
+
2030
+ </span>
2031
+
2032
+
2033
+
2034
+ </a>
2035
+ </li>
2036
+
2037
+
2038
+
2039
+
2040
+
2041
+
2042
+
2043
+
2044
+
2045
+
2046
+ <li class="md-nav__item">
2047
+ <a href="../../development/security/" class="md-nav__link">
2048
+
2049
+
2050
+
2051
+ <span class="md-ellipsis">
2052
+
2053
+
2054
+ Security Reporting
2055
+
2056
+
2057
+
2058
+ </span>
2059
+
2060
+
2061
+
2062
+ </a>
2063
+ </li>
2064
+
2065
+
2066
+
2067
+
2068
+
2069
+
2070
+
2071
+
2072
+
2073
+
2074
+ <li class="md-nav__item">
2075
+ <a href="../../development/release-readiness/" class="md-nav__link">
2076
+
2077
+
2078
+
2079
+ <span class="md-ellipsis">
2080
+
2081
+
2082
+ Release Readiness
2083
+
2084
+
2085
+
2086
+ </span>
2087
+
2088
+
2089
+
2090
+ </a>
2091
+ </li>
2092
+
2093
+
2094
+
2095
+
2096
+
2097
+
2098
+
2099
+
2100
+
2101
+
2102
+ <li class="md-nav__item">
2103
+ <a href="../../development/ci-publishing/" class="md-nav__link">
2104
+
2105
+
2106
+
2107
+ <span class="md-ellipsis">
2108
+
2109
+
2110
+ CI and Publishing
2111
+
2112
+
2113
+
2114
+ </span>
2115
+
2116
+
2117
+
2118
+ </a>
2119
+ </li>
2120
+
2121
+
2122
+
2123
+
2124
+ </ul>
2125
+ </nav>
2126
+
2127
+ </li>
2128
+
2129
+
2130
+
2131
+ </ul>
2132
+ </nav>
2133
+ </div>
2134
+ </div>
2135
+ </div>
2136
+
2137
+
2138
+
2139
+ <div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc" >
2140
+ <div class="md-sidebar__scrollwrap">
2141
+ <div class="md-sidebar__inner">
2142
+
2143
+
2144
+ <nav class="md-nav md-nav--secondary" aria-label="Table of contents">
2145
+
2146
+
2147
+
2148
+
2149
+
2150
+
2151
+ <label class="md-nav__title" for="__toc">
2152
+ <span class="md-nav__icon md-icon"></span>
2153
+ Table of contents
2154
+ </label>
2155
+ <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
2156
+
2157
+ <li class="md-nav__item">
2158
+ <a href="#input-and-output-ports" class="md-nav__link">
2159
+ <span class="md-ellipsis">
2160
+
2161
+ Input and output ports
2162
+
2163
+ </span>
2164
+ </a>
2165
+
2166
+ </li>
2167
+
2168
+ <li class="md-nav__item">
2169
+ <a href="#scatter-provenance" class="md-nav__link">
2170
+ <span class="md-ellipsis">
2171
+
2172
+ Scatter provenance
2173
+
2174
+ </span>
2175
+ </a>
2176
+
2177
+ </li>
2178
+
2179
+ <li class="md-nav__item">
2180
+ <a href="#compressed-boundaries" class="md-nav__link">
2181
+ <span class="md-ellipsis">
2182
+
2183
+ Compressed boundaries
2184
+
2185
+ </span>
2186
+ </a>
2187
+
2188
+ </li>
2189
+
2190
+ </ul>
2191
+
2192
+ </nav>
2193
+ </div>
2194
+ </div>
2195
+ </div>
2196
+
2197
+
2198
+
2199
+ <div class="md-content" data-md-component="content">
2200
+
2201
+ <article class="md-content__inner md-typeset">
2202
+
2203
+
2204
+
2205
+
2206
+
2207
+
2208
+
2209
+
2210
+ <h1 id="artifacts">Artifacts<a class="headerlink" href="#artifacts" title="Permanent link">&para;</a></h1>
2211
+ <p>Pipeline stages exchange <code>ArtifactRef</code> objects. Downstream stages should not guess tool-specific
2212
+ directory layouts.</p>
2213
+ <p>Important fields:</p>
2214
+ <ul>
2215
+ <li><code>path</code>: primary path or manifest path</li>
2216
+ <li><code>paths</code>: multi-path collection, such as one SDF file per retained pose</li>
2217
+ <li><code>metadata</code>: provenance hints, result path keys, scatter manifests, and path-collection markers</li>
2218
+ </ul>
2219
+ <h2 id="input-and-output-ports">Input and output ports<a class="headerlink" href="#input-and-output-ports" title="Permanent link">&para;</a></h2>
2220
+ <p>Tool plugins can expose pipeline contracts:</p>
2221
+ <ul>
2222
+ <li><code>InputPort(name, kind, config_field)</code> maps a pipeline input to a config field.</li>
2223
+ <li><code>OutputPort(name, kind, result_path_key)</code> maps a pipeline output to a key in <code>Result.paths</code>.</li>
2224
+ <li><code>OutputPort(..., required=False)</code> marks outputs that are produced only for some configurations.
2225
+ Missing optional result path keys are skipped instead of failing the stage.</li>
2226
+ <li><code>OutputPort(..., path_collection_column="pose_file")</code> treats the result path as a CSV manifest
2227
+ and exposes the named column as <code>ArtifactRef.paths</code>. The artifact <code>path</code> remains the manifest, so
2228
+ downstream stages can keep both provenance and exact file paths.</li>
2229
+ </ul>
2230
+ <h2 id="scatter-provenance">Scatter provenance<a class="headerlink" href="#scatter-provenance" title="Permanent link">&para;</a></h2>
2231
+ <p>Scatter over file inputs supports SDF, CSV, line-based, and auto splitting. Scatter over path
2232
+ collections supports one job per path or chunked path lists depending on the downstream config field
2233
+ type.</p>
2234
+ <p>When a scattered tool stage receives multiple path-collection inputs and non-scatter inputs have the
2235
+ same number of paths as the scatter input, CADDForge binds those paths by row order for each shard.
2236
+ Use this for paired artifacts selected from the same manifest row, such as an ABFE ligand SDF plus
2237
+ its matching protein PDB. If the paired config field is typed as <code>list[Path]</code>, each shard receives a
2238
+ one-item list containing the matching path. Use this for tools such as plain MD where the complex PDB
2239
+ is a single <code>Path</code> but the matching ligand SDF is passed through a list field. The scatter field is
2240
+ still the only field listed under <code>scatter.by</code>.</p>
2241
+ <p>For path-collection scatter, the executor writes <code>scatter_manifest.csv</code> so downstream stages can
2242
+ join results back to ligand, pose, molecule, or source path metadata.</p>
2243
+ <p>When scattered CSV, TSV, SDF, JSONL, or manifest outputs are reduced to one canonical file,
2244
+ downstream stages bind that merged file and split it again according to their own scatter contract.
2245
+ The reduced artifact can still retain individual shard paths for provenance. Genuine path
2246
+ collections continue to bind their member paths directly.</p>
2247
+ <h2 id="compressed-boundaries">Compressed boundaries<a class="headerlink" href="#compressed-boundaries" title="Permanent link">&para;</a></h2>
2248
+ <p>Pipeline tools can consume and produce <code>.csv.gz</code>, <code>.tsv.gz</code>, and <code>.sdf.gz</code> through explicit port
2249
+ contracts. Inputs stay compressed between stages and are materialized only at tool runtime. Core
2250
+ atomically compresses declared outputs after the tool succeeds and persists the finalized path in
2251
+ the canonical result. A scattered stage must use a unique compressed output destination per shard.</p>
2252
+
2253
+
2254
+
2255
+
2256
+
2257
+
2258
+
2259
+
2260
+
2261
+
2262
+
2263
+
2264
+
2265
+ </article>
2266
+ </div>
2267
+
2268
+
2269
+ <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script>
2270
+ </div>
2271
+
2272
+ <button type="button" class="md-top md-icon" data-md-component="top" hidden>
2273
+
2274
+ <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>
2275
+ Back to top
2276
+ </button>
2277
+
2278
+ </main>
2279
+
2280
+ <footer class="md-footer">
2281
+
2282
+ <div class="md-footer-meta md-typeset">
2283
+ <div class="md-footer-meta__inner md-grid">
2284
+ <div class="md-copyright">
2285
+
2286
+
2287
+ Made with
2288
+ <a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener">
2289
+ Material for MkDocs
2290
+ </a>
2291
+
2292
+ </div>
2293
+
2294
+ </div>
2295
+ </div>
2296
+ </footer>
2297
+
2298
+ </div>
2299
+ <div class="md-dialog" data-md-component="dialog">
2300
+ <div class="md-dialog__inner md-typeset"></div>
2301
+ </div>
2302
+
2303
+
2304
+
2305
+
2306
+
2307
+ <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>
2308
+
2309
+
2310
+ <script src="../../assets/javascripts/bundle.d7400e89.min.js"></script>
2311
+
2312
+
2313
+ </body>
2314
+ </html>