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,2200 @@
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/core/plugins/">
14
+
15
+
16
+ <link rel="prev" href="../slurm/">
17
+
18
+
19
+ <link rel="next" href="../../pipelines/">
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>Plugins - 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="#plugins" 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
+ Plugins
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
+
621
+
622
+ <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested">
623
+
624
+
625
+
626
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4" checked>
627
+
628
+
629
+ <div class="md-nav__link md-nav__container">
630
+ <a href="../" class="md-nav__link ">
631
+
632
+
633
+
634
+ <span class="md-ellipsis">
635
+
636
+
637
+ Core
638
+
639
+
640
+
641
+ </span>
642
+
643
+
644
+
645
+ </a>
646
+
647
+
648
+ <label class="md-nav__link " for="__nav_4" id="__nav_4_label" tabindex="">
649
+ <span class="md-nav__icon md-icon"></span>
650
+ </label>
651
+
652
+ </div>
653
+
654
+ <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_4_label" aria-expanded="true">
655
+ <label class="md-nav__title" for="__nav_4">
656
+ <span class="md-nav__icon md-icon"></span>
657
+
658
+
659
+ Core
660
+
661
+
662
+ </label>
663
+ <ul class="md-nav__list" data-md-scrollfix>
664
+
665
+
666
+
667
+
668
+
669
+
670
+
671
+ <li class="md-nav__item">
672
+ <a href="../concepts/" class="md-nav__link">
673
+
674
+
675
+
676
+ <span class="md-ellipsis">
677
+
678
+
679
+ Concepts
680
+
681
+
682
+
683
+ </span>
684
+
685
+
686
+
687
+ </a>
688
+ </li>
689
+
690
+
691
+
692
+
693
+
694
+
695
+
696
+
697
+
698
+
699
+ <li class="md-nav__item">
700
+ <a href="../configuration/" class="md-nav__link">
701
+
702
+
703
+
704
+ <span class="md-ellipsis">
705
+
706
+
707
+ Configuration
708
+
709
+
710
+
711
+ </span>
712
+
713
+
714
+
715
+ </a>
716
+ </li>
717
+
718
+
719
+
720
+
721
+
722
+
723
+
724
+
725
+
726
+
727
+ <li class="md-nav__item">
728
+ <a href="../cli/" class="md-nav__link">
729
+
730
+
731
+
732
+ <span class="md-ellipsis">
733
+
734
+
735
+ CLI
736
+
737
+
738
+
739
+ </span>
740
+
741
+
742
+
743
+ </a>
744
+ </li>
745
+
746
+
747
+
748
+
749
+
750
+
751
+
752
+
753
+
754
+
755
+ <li class="md-nav__item">
756
+ <a href="../jobs-results/" class="md-nav__link">
757
+
758
+
759
+
760
+ <span class="md-ellipsis">
761
+
762
+
763
+ Jobs and Results
764
+
765
+
766
+
767
+ </span>
768
+
769
+
770
+
771
+ </a>
772
+ </li>
773
+
774
+
775
+
776
+
777
+
778
+
779
+
780
+
781
+
782
+
783
+ <li class="md-nav__item">
784
+ <a href="../slurm/" class="md-nav__link">
785
+
786
+
787
+
788
+ <span class="md-ellipsis">
789
+
790
+
791
+ Slurm Backend
792
+
793
+
794
+
795
+ </span>
796
+
797
+
798
+
799
+ </a>
800
+ </li>
801
+
802
+
803
+
804
+
805
+
806
+
807
+
808
+
809
+
810
+
811
+
812
+
813
+ <li class="md-nav__item md-nav__item--active">
814
+
815
+ <input class="md-nav__toggle md-toggle" type="checkbox" id="__toc">
816
+
817
+
818
+
819
+
820
+
821
+ <a href="./" class="md-nav__link md-nav__link--active">
822
+
823
+
824
+
825
+ <span class="md-ellipsis">
826
+
827
+
828
+ Plugins
829
+
830
+
831
+
832
+ </span>
833
+
834
+
835
+
836
+ </a>
837
+
838
+ </li>
839
+
840
+
841
+
842
+
843
+ </ul>
844
+ </nav>
845
+
846
+ </li>
847
+
848
+
849
+
850
+
851
+
852
+
853
+
854
+
855
+
856
+
857
+
858
+
859
+
860
+
861
+
862
+
863
+
864
+
865
+
866
+
867
+
868
+
869
+
870
+
871
+
872
+
873
+
874
+
875
+
876
+ <li class="md-nav__item md-nav__item--section md-nav__item--nested">
877
+
878
+
879
+
880
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5" >
881
+
882
+
883
+ <div class="md-nav__link md-nav__container">
884
+ <a href="../../pipelines/" class="md-nav__link ">
885
+
886
+
887
+
888
+ <span class="md-ellipsis">
889
+
890
+
891
+ Pipelines
892
+
893
+
894
+
895
+ </span>
896
+
897
+
898
+
899
+ </a>
900
+
901
+
902
+ <label class="md-nav__link " for="__nav_5" id="__nav_5_label" tabindex="">
903
+ <span class="md-nav__icon md-icon"></span>
904
+ </label>
905
+
906
+ </div>
907
+
908
+ <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_5_label" aria-expanded="false">
909
+ <label class="md-nav__title" for="__nav_5">
910
+ <span class="md-nav__icon md-icon"></span>
911
+
912
+
913
+ Pipelines
914
+
915
+
916
+ </label>
917
+ <ul class="md-nav__list" data-md-scrollfix>
918
+
919
+
920
+
921
+
922
+
923
+
924
+
925
+ <li class="md-nav__item">
926
+ <a href="../../pipelines/specification/" class="md-nav__link">
927
+
928
+
929
+
930
+ <span class="md-ellipsis">
931
+
932
+
933
+ Specification
934
+
935
+
936
+
937
+ </span>
938
+
939
+
940
+
941
+ </a>
942
+ </li>
943
+
944
+
945
+
946
+
947
+
948
+
949
+
950
+
951
+
952
+
953
+ <li class="md-nav__item">
954
+ <a href="../../pipelines/artifacts/" class="md-nav__link">
955
+
956
+
957
+
958
+ <span class="md-ellipsis">
959
+
960
+
961
+ Artifacts
962
+
963
+
964
+
965
+ </span>
966
+
967
+
968
+
969
+ </a>
970
+ </li>
971
+
972
+
973
+
974
+
975
+
976
+
977
+
978
+
979
+
980
+
981
+ <li class="md-nav__item">
982
+ <a href="../../pipelines/built-ins/" class="md-nav__link">
983
+
984
+
985
+
986
+ <span class="md-ellipsis">
987
+
988
+
989
+ Built-in Stages
990
+
991
+
992
+
993
+ </span>
994
+
995
+
996
+
997
+ </a>
998
+ </li>
999
+
1000
+
1001
+
1002
+
1003
+
1004
+
1005
+
1006
+
1007
+
1008
+
1009
+ <li class="md-nav__item">
1010
+ <a href="../../pipelines/examples/" class="md-nav__link">
1011
+
1012
+
1013
+
1014
+ <span class="md-ellipsis">
1015
+
1016
+
1017
+ Examples
1018
+
1019
+
1020
+
1021
+ </span>
1022
+
1023
+
1024
+
1025
+ </a>
1026
+ </li>
1027
+
1028
+
1029
+
1030
+
1031
+ </ul>
1032
+ </nav>
1033
+
1034
+ </li>
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
+
1063
+
1064
+
1065
+
1066
+
1067
+
1068
+
1069
+
1070
+
1071
+
1072
+ <li class="md-nav__item md-nav__item--section md-nav__item--nested">
1073
+
1074
+
1075
+
1076
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6" >
1077
+
1078
+
1079
+ <div class="md-nav__link md-nav__container">
1080
+ <a href="../../plugins/" class="md-nav__link ">
1081
+
1082
+
1083
+
1084
+ <span class="md-ellipsis">
1085
+
1086
+
1087
+ Plugins
1088
+
1089
+
1090
+
1091
+ </span>
1092
+
1093
+
1094
+
1095
+ </a>
1096
+
1097
+
1098
+ <label class="md-nav__link " for="__nav_6" id="__nav_6_label" tabindex="">
1099
+ <span class="md-nav__icon md-icon"></span>
1100
+ </label>
1101
+
1102
+ </div>
1103
+
1104
+ <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_6_label" aria-expanded="false">
1105
+ <label class="md-nav__title" for="__nav_6">
1106
+ <span class="md-nav__icon md-icon"></span>
1107
+
1108
+
1109
+ Plugins
1110
+
1111
+
1112
+ </label>
1113
+ <ul class="md-nav__list" data-md-scrollfix>
1114
+
1115
+
1116
+
1117
+
1118
+
1119
+
1120
+
1121
+ <li class="md-nav__item">
1122
+ <a href="../../plugins/version-matrix/" class="md-nav__link">
1123
+
1124
+
1125
+
1126
+ <span class="md-ellipsis">
1127
+
1128
+
1129
+ Version Matrix
1130
+
1131
+
1132
+
1133
+ </span>
1134
+
1135
+
1136
+
1137
+ </a>
1138
+ </li>
1139
+
1140
+
1141
+
1142
+
1143
+
1144
+
1145
+
1146
+
1147
+
1148
+
1149
+ <li class="md-nav__item">
1150
+ <a href="../../plugins/docking/" class="md-nav__link">
1151
+
1152
+
1153
+
1154
+ <span class="md-ellipsis">
1155
+
1156
+
1157
+ Docking
1158
+
1159
+
1160
+
1161
+ </span>
1162
+
1163
+
1164
+
1165
+ </a>
1166
+ </li>
1167
+
1168
+
1169
+
1170
+
1171
+
1172
+
1173
+
1174
+
1175
+
1176
+
1177
+ <li class="md-nav__item">
1178
+ <a href="../../plugins/descriptors/" class="md-nav__link">
1179
+
1180
+
1181
+
1182
+ <span class="md-ellipsis">
1183
+
1184
+
1185
+ Descriptors
1186
+
1187
+
1188
+
1189
+ </span>
1190
+
1191
+
1192
+
1193
+ </a>
1194
+ </li>
1195
+
1196
+
1197
+
1198
+
1199
+
1200
+
1201
+
1202
+
1203
+
1204
+
1205
+ <li class="md-nav__item">
1206
+ <a href="../../plugins/md/" class="md-nav__link">
1207
+
1208
+
1209
+
1210
+ <span class="md-ellipsis">
1211
+
1212
+
1213
+ MD
1214
+
1215
+
1216
+
1217
+ </span>
1218
+
1219
+
1220
+
1221
+ </a>
1222
+ </li>
1223
+
1224
+
1225
+
1226
+
1227
+
1228
+
1229
+
1230
+
1231
+
1232
+
1233
+ <li class="md-nav__item">
1234
+ <a href="../../plugins/fep/" class="md-nav__link">
1235
+
1236
+
1237
+
1238
+ <span class="md-ellipsis">
1239
+
1240
+
1241
+ FEP
1242
+
1243
+
1244
+
1245
+ </span>
1246
+
1247
+
1248
+
1249
+ </a>
1250
+ </li>
1251
+
1252
+
1253
+
1254
+
1255
+
1256
+
1257
+
1258
+
1259
+
1260
+
1261
+ <li class="md-nav__item">
1262
+ <a href="../../plugins/qm/" class="md-nav__link">
1263
+
1264
+
1265
+
1266
+ <span class="md-ellipsis">
1267
+
1268
+
1269
+ QM
1270
+
1271
+
1272
+
1273
+ </span>
1274
+
1275
+
1276
+
1277
+ </a>
1278
+ </li>
1279
+
1280
+
1281
+
1282
+
1283
+
1284
+
1285
+
1286
+
1287
+
1288
+
1289
+ <li class="md-nav__item">
1290
+ <a href="../../plugins/ml/" class="md-nav__link">
1291
+
1292
+
1293
+
1294
+ <span class="md-ellipsis">
1295
+
1296
+
1297
+ ML
1298
+
1299
+
1300
+
1301
+ </span>
1302
+
1303
+
1304
+
1305
+ </a>
1306
+ </li>
1307
+
1308
+
1309
+
1310
+
1311
+
1312
+
1313
+
1314
+
1315
+
1316
+
1317
+ <li class="md-nav__item">
1318
+ <a href="../../plugins/datascience/" class="md-nav__link">
1319
+
1320
+
1321
+
1322
+ <span class="md-ellipsis">
1323
+
1324
+
1325
+ Data Science
1326
+
1327
+
1328
+
1329
+ </span>
1330
+
1331
+
1332
+
1333
+ </a>
1334
+ </li>
1335
+
1336
+
1337
+
1338
+
1339
+ </ul>
1340
+ </nav>
1341
+
1342
+ </li>
1343
+
1344
+
1345
+
1346
+
1347
+
1348
+
1349
+
1350
+
1351
+
1352
+
1353
+
1354
+
1355
+
1356
+
1357
+
1358
+
1359
+
1360
+
1361
+
1362
+
1363
+
1364
+
1365
+
1366
+
1367
+
1368
+ <li class="md-nav__item md-nav__item--section md-nav__item--nested">
1369
+
1370
+
1371
+
1372
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_7" >
1373
+
1374
+
1375
+ <div class="md-nav__link md-nav__container">
1376
+ <a href="../../gui/" class="md-nav__link ">
1377
+
1378
+
1379
+
1380
+ <span class="md-ellipsis">
1381
+
1382
+
1383
+ GUI
1384
+
1385
+
1386
+
1387
+ </span>
1388
+
1389
+
1390
+
1391
+ </a>
1392
+
1393
+
1394
+ <label class="md-nav__link " for="__nav_7" id="__nav_7_label" tabindex="">
1395
+ <span class="md-nav__icon md-icon"></span>
1396
+ </label>
1397
+
1398
+ </div>
1399
+
1400
+ <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_7_label" aria-expanded="false">
1401
+ <label class="md-nav__title" for="__nav_7">
1402
+ <span class="md-nav__icon md-icon"></span>
1403
+
1404
+
1405
+ GUI
1406
+
1407
+
1408
+ </label>
1409
+ <ul class="md-nav__list" data-md-scrollfix>
1410
+
1411
+
1412
+
1413
+
1414
+
1415
+
1416
+
1417
+ <li class="md-nav__item">
1418
+ <a href="../../gui/walkthrough/" class="md-nav__link">
1419
+
1420
+
1421
+
1422
+ <span class="md-ellipsis">
1423
+
1424
+
1425
+ Walkthrough
1426
+
1427
+
1428
+
1429
+ </span>
1430
+
1431
+
1432
+
1433
+ </a>
1434
+ </li>
1435
+
1436
+
1437
+
1438
+
1439
+
1440
+
1441
+
1442
+
1443
+
1444
+
1445
+ <li class="md-nav__item">
1446
+ <a href="../../gui/plugin-authoring/" class="md-nav__link">
1447
+
1448
+
1449
+
1450
+ <span class="md-ellipsis">
1451
+
1452
+
1453
+ Plugin GUI Authoring
1454
+
1455
+
1456
+
1457
+ </span>
1458
+
1459
+
1460
+
1461
+ </a>
1462
+ </li>
1463
+
1464
+
1465
+
1466
+
1467
+ </ul>
1468
+ </nav>
1469
+
1470
+ </li>
1471
+
1472
+
1473
+
1474
+
1475
+
1476
+
1477
+
1478
+
1479
+
1480
+
1481
+
1482
+
1483
+
1484
+
1485
+
1486
+
1487
+
1488
+
1489
+
1490
+
1491
+
1492
+
1493
+
1494
+
1495
+
1496
+
1497
+
1498
+ <li class="md-nav__item md-nav__item--section md-nav__item--nested">
1499
+
1500
+
1501
+
1502
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_8" >
1503
+
1504
+
1505
+ <div class="md-nav__link md-nav__container">
1506
+ <a href="../../reference/" class="md-nav__link ">
1507
+
1508
+
1509
+
1510
+ <span class="md-ellipsis">
1511
+
1512
+
1513
+ Reference
1514
+
1515
+
1516
+
1517
+ </span>
1518
+
1519
+
1520
+
1521
+ </a>
1522
+
1523
+
1524
+ <label class="md-nav__link " for="__nav_8" id="__nav_8_label" tabindex="">
1525
+ <span class="md-nav__icon md-icon"></span>
1526
+ </label>
1527
+
1528
+ </div>
1529
+
1530
+ <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_8_label" aria-expanded="false">
1531
+ <label class="md-nav__title" for="__nav_8">
1532
+ <span class="md-nav__icon md-icon"></span>
1533
+
1534
+
1535
+ Reference
1536
+
1537
+
1538
+ </label>
1539
+ <ul class="md-nav__list" data-md-scrollfix>
1540
+
1541
+
1542
+
1543
+
1544
+
1545
+
1546
+
1547
+ <li class="md-nav__item">
1548
+ <a href="../../reference/api/" class="md-nav__link">
1549
+
1550
+
1551
+
1552
+ <span class="md-ellipsis">
1553
+
1554
+
1555
+ Public Python API
1556
+
1557
+
1558
+
1559
+ </span>
1560
+
1561
+
1562
+
1563
+ </a>
1564
+ </li>
1565
+
1566
+
1567
+
1568
+
1569
+
1570
+
1571
+
1572
+
1573
+
1574
+
1575
+ <li class="md-nav__item">
1576
+ <a href="../../examples/" class="md-nav__link">
1577
+
1578
+
1579
+
1580
+ <span class="md-ellipsis">
1581
+
1582
+
1583
+ Example Library
1584
+
1585
+
1586
+
1587
+ </span>
1588
+
1589
+
1590
+
1591
+ </a>
1592
+ </li>
1593
+
1594
+
1595
+
1596
+
1597
+
1598
+
1599
+
1600
+
1601
+
1602
+
1603
+ <li class="md-nav__item">
1604
+ <a href="../../examples/quickstart/" class="md-nav__link">
1605
+
1606
+
1607
+
1608
+ <span class="md-ellipsis">
1609
+
1610
+
1611
+ Example Data Provenance
1612
+
1613
+
1614
+
1615
+ </span>
1616
+
1617
+
1618
+
1619
+ </a>
1620
+ </li>
1621
+
1622
+
1623
+
1624
+
1625
+ </ul>
1626
+ </nav>
1627
+
1628
+ </li>
1629
+
1630
+
1631
+
1632
+
1633
+
1634
+
1635
+
1636
+
1637
+
1638
+
1639
+
1640
+
1641
+
1642
+
1643
+
1644
+
1645
+
1646
+
1647
+
1648
+
1649
+
1650
+
1651
+
1652
+
1653
+
1654
+
1655
+
1656
+ <li class="md-nav__item md-nav__item--section md-nav__item--nested">
1657
+
1658
+
1659
+
1660
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_9" >
1661
+
1662
+
1663
+ <label class="md-nav__link" for="__nav_9" id="__nav_9_label" tabindex="">
1664
+
1665
+
1666
+
1667
+ <span class="md-ellipsis">
1668
+
1669
+
1670
+ Explanation
1671
+
1672
+
1673
+
1674
+ </span>
1675
+
1676
+
1677
+
1678
+ <span class="md-nav__icon md-icon"></span>
1679
+ </label>
1680
+
1681
+ <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_9_label" aria-expanded="false">
1682
+ <label class="md-nav__title" for="__nav_9">
1683
+ <span class="md-nav__icon md-icon"></span>
1684
+
1685
+
1686
+ Explanation
1687
+
1688
+
1689
+ </label>
1690
+ <ul class="md-nav__list" data-md-scrollfix>
1691
+
1692
+
1693
+
1694
+
1695
+
1696
+
1697
+
1698
+ <li class="md-nav__item">
1699
+ <a href="../../explanation/reproducibility/" class="md-nav__link">
1700
+
1701
+
1702
+
1703
+ <span class="md-ellipsis">
1704
+
1705
+
1706
+ Reproducibility
1707
+
1708
+
1709
+
1710
+ </span>
1711
+
1712
+
1713
+
1714
+ </a>
1715
+ </li>
1716
+
1717
+
1718
+
1719
+
1720
+
1721
+
1722
+
1723
+
1724
+
1725
+
1726
+ <li class="md-nav__item">
1727
+ <a href="../../explanation/references/" class="md-nav__link">
1728
+
1729
+
1730
+
1731
+ <span class="md-ellipsis">
1732
+
1733
+
1734
+ Method References
1735
+
1736
+
1737
+
1738
+ </span>
1739
+
1740
+
1741
+
1742
+ </a>
1743
+ </li>
1744
+
1745
+
1746
+
1747
+
1748
+
1749
+
1750
+
1751
+
1752
+
1753
+
1754
+ <li class="md-nav__item">
1755
+ <a href="../../explanation/third-party-notices/" class="md-nav__link">
1756
+
1757
+
1758
+
1759
+ <span class="md-ellipsis">
1760
+
1761
+
1762
+ Third-party Notices
1763
+
1764
+
1765
+
1766
+ </span>
1767
+
1768
+
1769
+
1770
+ </a>
1771
+ </li>
1772
+
1773
+
1774
+
1775
+
1776
+ </ul>
1777
+ </nav>
1778
+
1779
+ </li>
1780
+
1781
+
1782
+
1783
+
1784
+
1785
+
1786
+
1787
+
1788
+
1789
+
1790
+
1791
+
1792
+
1793
+
1794
+
1795
+
1796
+
1797
+
1798
+
1799
+
1800
+
1801
+
1802
+
1803
+
1804
+
1805
+
1806
+
1807
+
1808
+
1809
+
1810
+
1811
+
1812
+
1813
+
1814
+
1815
+ <li class="md-nav__item md-nav__item--section md-nav__item--nested">
1816
+
1817
+
1818
+
1819
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_10" >
1820
+
1821
+
1822
+ <div class="md-nav__link md-nav__container">
1823
+ <a href="../../development/" class="md-nav__link ">
1824
+
1825
+
1826
+
1827
+ <span class="md-ellipsis">
1828
+
1829
+
1830
+ Development
1831
+
1832
+
1833
+
1834
+ </span>
1835
+
1836
+
1837
+
1838
+ </a>
1839
+
1840
+
1841
+ <label class="md-nav__link " for="__nav_10" id="__nav_10_label" tabindex="">
1842
+ <span class="md-nav__icon md-icon"></span>
1843
+ </label>
1844
+
1845
+ </div>
1846
+
1847
+ <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_10_label" aria-expanded="false">
1848
+ <label class="md-nav__title" for="__nav_10">
1849
+ <span class="md-nav__icon md-icon"></span>
1850
+
1851
+
1852
+ Development
1853
+
1854
+
1855
+ </label>
1856
+ <ul class="md-nav__list" data-md-scrollfix>
1857
+
1858
+
1859
+
1860
+
1861
+
1862
+
1863
+
1864
+ <li class="md-nav__item">
1865
+ <a href="../../development/release-notes/" class="md-nav__link">
1866
+
1867
+
1868
+
1869
+ <span class="md-ellipsis">
1870
+
1871
+
1872
+ Release Notes
1873
+
1874
+
1875
+
1876
+ </span>
1877
+
1878
+
1879
+
1880
+ </a>
1881
+ </li>
1882
+
1883
+
1884
+
1885
+
1886
+
1887
+
1888
+
1889
+
1890
+
1891
+
1892
+ <li class="md-nav__item">
1893
+ <a href="../../development/tool-authoring/" class="md-nav__link">
1894
+
1895
+
1896
+
1897
+ <span class="md-ellipsis">
1898
+
1899
+
1900
+ Tool Authoring
1901
+
1902
+
1903
+
1904
+ </span>
1905
+
1906
+
1907
+
1908
+ </a>
1909
+ </li>
1910
+
1911
+
1912
+
1913
+
1914
+
1915
+
1916
+
1917
+
1918
+
1919
+
1920
+ <li class="md-nav__item">
1921
+ <a href="../../development/documentation/" class="md-nav__link">
1922
+
1923
+
1924
+
1925
+ <span class="md-ellipsis">
1926
+
1927
+
1928
+ Documentation
1929
+
1930
+
1931
+
1932
+ </span>
1933
+
1934
+
1935
+
1936
+ </a>
1937
+ </li>
1938
+
1939
+
1940
+
1941
+
1942
+
1943
+
1944
+
1945
+
1946
+
1947
+
1948
+ <li class="md-nav__item">
1949
+ <a href="../../development/contributing/" class="md-nav__link">
1950
+
1951
+
1952
+
1953
+ <span class="md-ellipsis">
1954
+
1955
+
1956
+ Contributing
1957
+
1958
+
1959
+
1960
+ </span>
1961
+
1962
+
1963
+
1964
+ </a>
1965
+ </li>
1966
+
1967
+
1968
+
1969
+
1970
+
1971
+
1972
+
1973
+
1974
+
1975
+
1976
+ <li class="md-nav__item">
1977
+ <a href="../../development/security/" class="md-nav__link">
1978
+
1979
+
1980
+
1981
+ <span class="md-ellipsis">
1982
+
1983
+
1984
+ Security Reporting
1985
+
1986
+
1987
+
1988
+ </span>
1989
+
1990
+
1991
+
1992
+ </a>
1993
+ </li>
1994
+
1995
+
1996
+
1997
+
1998
+
1999
+
2000
+
2001
+
2002
+
2003
+
2004
+ <li class="md-nav__item">
2005
+ <a href="../../development/release-readiness/" class="md-nav__link">
2006
+
2007
+
2008
+
2009
+ <span class="md-ellipsis">
2010
+
2011
+
2012
+ Release Readiness
2013
+
2014
+
2015
+
2016
+ </span>
2017
+
2018
+
2019
+
2020
+ </a>
2021
+ </li>
2022
+
2023
+
2024
+
2025
+
2026
+
2027
+
2028
+
2029
+
2030
+
2031
+
2032
+ <li class="md-nav__item">
2033
+ <a href="../../development/ci-publishing/" class="md-nav__link">
2034
+
2035
+
2036
+
2037
+ <span class="md-ellipsis">
2038
+
2039
+
2040
+ CI and Publishing
2041
+
2042
+
2043
+
2044
+ </span>
2045
+
2046
+
2047
+
2048
+ </a>
2049
+ </li>
2050
+
2051
+
2052
+
2053
+
2054
+ </ul>
2055
+ </nav>
2056
+
2057
+ </li>
2058
+
2059
+
2060
+
2061
+ </ul>
2062
+ </nav>
2063
+ </div>
2064
+ </div>
2065
+ </div>
2066
+
2067
+
2068
+
2069
+ <div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc" >
2070
+ <div class="md-sidebar__scrollwrap">
2071
+ <div class="md-sidebar__inner">
2072
+
2073
+
2074
+ <nav class="md-nav md-nav--secondary" aria-label="Table of contents">
2075
+
2076
+
2077
+
2078
+
2079
+
2080
+
2081
+ </nav>
2082
+ </div>
2083
+ </div>
2084
+ </div>
2085
+
2086
+
2087
+
2088
+ <div class="md-content" data-md-component="content">
2089
+
2090
+ <article class="md-content__inner md-typeset">
2091
+
2092
+
2093
+
2094
+
2095
+
2096
+
2097
+
2098
+
2099
+ <h1 id="plugins">Plugins<a class="headerlink" href="#plugins" title="Permanent link">&para;</a></h1>
2100
+ <p>CADDForge tools are discovered as plugins. The core package defines the interfaces; tool packages
2101
+ register implementations.</p>
2102
+ <p>Plugin packages typically provide:</p>
2103
+ <ul>
2104
+ <li>a validated config class</li>
2105
+ <li>a workflow class</li>
2106
+ <li>a <code>Tool</code> implementation</li>
2107
+ <li>Python entry points under <code>caddforge.tools</code></li>
2108
+ <li>optional GUI extensions</li>
2109
+ <li>optional pipeline input and output ports</li>
2110
+ </ul>
2111
+ <p>Example entry point group:</p>
2112
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-0-1" name="__codelineno-0-1" href="#__codelineno-0-1"></a><span class="k">[project.entry-points.</span><span class="s2">"caddforge.tools"</span><span class="k">]</span>
2113
+ <a id="__codelineno-0-2" name="__codelineno-0-2" href="#__codelineno-0-2"></a><span class="n">docking-unidock</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s2">"cadd_docking.tool:UniDockTool"</span>
2114
+ </code></pre></div>
2115
+ <p>The core CLI uses these entry points to resolve commands such as:</p>
2116
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-1-1" name="__codelineno-1-1" href="#__codelineno-1-1"></a>caddforge<span class="w"> </span>run<span class="w"> </span>docking<span class="w"> </span>unidock<span class="w"> </span>--config<span class="w"> </span>unidock.yaml
2117
+ </code></pre></div>
2118
+ <p>Python automation should use the same plugin contract instead of importing tool-internal config and
2119
+ workflow classes directly:</p>
2120
+ <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>
2121
+ <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>
2122
+ <a id="__codelineno-2-3" name="__codelineno-2-3" href="#__codelineno-2-3"></a>
2123
+ <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">"docking"</span><span class="p">,</span> <span class="s2">"unidock"</span><span class="p">)</span>
2124
+ <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="o">.</span><span class="n">from_yaml</span><span class="p">(</span><span class="s2">"unidock.yaml"</span><span class="p">)</span>
2125
+ <a id="__codelineno-2-6" name="__codelineno-2-6" href="#__codelineno-2-6"></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>
2126
+ <a id="__codelineno-2-7" name="__codelineno-2-7" href="#__codelineno-2-7"></a>
2127
+ <a id="__codelineno-2-8" name="__codelineno-2-8" href="#__codelineno-2-8"></a><span class="n">job</span> <span class="o">=</span> <span class="n">submit_workflow</span><span class="p">(</span>
2128
+ <a id="__codelineno-2-9" name="__codelineno-2-9" href="#__codelineno-2-9"></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>
2129
+ <a id="__codelineno-2-10" name="__codelineno-2-10" href="#__codelineno-2-10"></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>
2130
+ <a id="__codelineno-2-11" name="__codelineno-2-11" href="#__codelineno-2-11"></a><span class="p">)</span>
2131
+ <a id="__codelineno-2-12" name="__codelineno-2-12" href="#__codelineno-2-12"></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>
2132
+ </code></pre></div>
2133
+ <p>Forward <code>spec.plugin.input_ports</code> to submission so core can stage declared compressed
2134
+ inputs before the scientific workflow runs. The CLI and pipeline executor already
2135
+ forward these contracts. Keep original compressed paths in the submitted configuration;
2136
+ core manages temporary expanded files.</p>
2137
+ <p>Core code must not hardcode specific tool names.</p>
2138
+
2139
+
2140
+
2141
+
2142
+
2143
+
2144
+
2145
+
2146
+
2147
+
2148
+
2149
+
2150
+
2151
+ </article>
2152
+ </div>
2153
+
2154
+
2155
+ <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script>
2156
+ </div>
2157
+
2158
+ <button type="button" class="md-top md-icon" data-md-component="top" hidden>
2159
+
2160
+ <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>
2161
+ Back to top
2162
+ </button>
2163
+
2164
+ </main>
2165
+
2166
+ <footer class="md-footer">
2167
+
2168
+ <div class="md-footer-meta md-typeset">
2169
+ <div class="md-footer-meta__inner md-grid">
2170
+ <div class="md-copyright">
2171
+
2172
+
2173
+ Made with
2174
+ <a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener">
2175
+ Material for MkDocs
2176
+ </a>
2177
+
2178
+ </div>
2179
+
2180
+ </div>
2181
+ </div>
2182
+ </footer>
2183
+
2184
+ </div>
2185
+ <div class="md-dialog" data-md-component="dialog">
2186
+ <div class="md-dialog__inner md-typeset"></div>
2187
+ </div>
2188
+
2189
+
2190
+
2191
+
2192
+
2193
+ <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>
2194
+
2195
+
2196
+ <script src="../../assets/javascripts/bundle.d7400e89.min.js"></script>
2197
+
2198
+
2199
+ </body>
2200
+ </html>