ANDREA 0.1.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 (273) hide show
  1. andrea/__init__.py +5 -0
  2. andrea/__main__.py +15 -0
  3. andrea/catalog_inference_tools/__init__.py +1 -0
  4. andrea/catalog_inference_tools/input_specs/cell_cell_interactions.json +64 -0
  5. andrea/catalog_inference_tools/input_specs/chromatin_accessibility.json +20 -0
  6. andrea/catalog_inference_tools/input_specs/chromatin_regions.json +23 -0
  7. andrea/catalog_inference_tools/input_specs/cluster_identities.json +30 -0
  8. andrea/catalog_inference_tools/input_specs/cluster_markers.json +35 -0
  9. andrea/catalog_inference_tools/input_specs/column_descriptors.json +25 -0
  10. andrea/catalog_inference_tools/input_specs/column_phenotypes.json +29 -0
  11. andrea/catalog_inference_tools/input_specs/enrichment_background.json +9 -0
  12. andrea/catalog_inference_tools/input_specs/expression_matrix.json +30 -0
  13. andrea/catalog_inference_tools/input_specs/grnboost_network.json +32 -0
  14. andrea/catalog_inference_tools/input_specs/groups.json +20 -0
  15. andrea/catalog_inference_tools/input_specs/interventions.json +32 -0
  16. andrea/catalog_inference_tools/input_specs/lineage_tree.json +18 -0
  17. andrea/catalog_inference_tools/input_specs/perturbation_design.json +39 -0
  18. andrea/catalog_inference_tools/input_specs/prior_grn.json +20 -0
  19. andrea/catalog_inference_tools/input_specs/prior_grn_by_group.json +27 -0
  20. andrea/catalog_inference_tools/input_specs/pseudotime.json +27 -0
  21. andrea/catalog_inference_tools/input_specs/replicates.json +31 -0
  22. andrea/catalog_inference_tools/input_specs/spatial_coordinates.json +32 -0
  23. andrea/catalog_inference_tools/input_specs/terms_of_interest.json +9 -0
  24. andrea/catalog_inference_tools/input_specs/tf_list.json +11 -0
  25. andrea/catalog_inference_tools/input_specs/timepoints.json +28 -0
  26. andrea/catalog_inference_tools/schemas/dataset-manifest.schema.json +456 -0
  27. andrea/catalog_inference_tools/schemas/input-spec.schema.json +152 -0
  28. andrea/catalog_inference_tools/schemas/toolcost.schema.json +460 -0
  29. andrea/catalog_inference_tools/schemas/toolspec.schema.json +781 -0
  30. andrea/catalog_inference_tools/tools/aracne3/cost.json +2434 -0
  31. andrea/catalog_inference_tools/tools/aracne3/toolspec.json +204 -0
  32. andrea/catalog_inference_tools/tools/cespgrn/cost.json +5083 -0
  33. andrea/catalog_inference_tools/tools/cespgrn/toolspec.json +303 -0
  34. andrea/catalog_inference_tools/tools/clr/cost.json +715 -0
  35. andrea/catalog_inference_tools/tools/clr/toolspec.json +129 -0
  36. andrea/catalog_inference_tools/tools/dignet/cost.json +911 -0
  37. andrea/catalog_inference_tools/tools/dignet/toolspec.json +516 -0
  38. andrea/catalog_inference_tools/tools/genie3/cost.json +4808 -0
  39. andrea/catalog_inference_tools/tools/genie3/toolspec.json +183 -0
  40. andrea/catalog_inference_tools/tools/grnboost2/cost.json +4804 -0
  41. andrea/catalog_inference_tools/tools/grnboost2/toolspec.json +190 -0
  42. andrea/catalog_inference_tools/tools/infercsn/cost.json +3668 -0
  43. andrea/catalog_inference_tools/tools/infercsn/toolspec.json +221 -0
  44. andrea/catalog_inference_tools/tools/inferelator3/cost.json +3626 -0
  45. andrea/catalog_inference_tools/tools/inferelator3/toolspec.json +187 -0
  46. andrea/catalog_inference_tools/tools/kscreni/cost.json +2389 -0
  47. andrea/catalog_inference_tools/tools/kscreni/toolspec.json +117 -0
  48. andrea/catalog_inference_tools/tools/lioness/cost.json +691 -0
  49. andrea/catalog_inference_tools/tools/lioness/toolspec.json +97 -0
  50. andrea/catalog_inference_tools/tools/metasem/cost.json +3351 -0
  51. andrea/catalog_inference_tools/tools/metasem/toolspec.json +190 -0
  52. andrea/catalog_inference_tools/tools/miniex3/cost.json +1225 -0
  53. andrea/catalog_inference_tools/tools/miniex3/toolspec.json +314 -0
  54. andrea/catalog_inference_tools/tools/pidc/cost.json +3597 -0
  55. andrea/catalog_inference_tools/tools/pidc/toolspec.json +143 -0
  56. andrea/catalog_inference_tools/tools/planet/cost.json +915 -0
  57. andrea/catalog_inference_tools/tools/planet/toolspec.json +524 -0
  58. andrea/catalog_inference_tools/tools/ppcor/cost.json +1397 -0
  59. andrea/catalog_inference_tools/tools/ppcor/toolspec.json +125 -0
  60. andrea/catalog_inference_tools/tools/pyscenic/cost.json +4787 -0
  61. andrea/catalog_inference_tools/tools/pyscenic/toolspec.json +141 -0
  62. andrea/catalog_inference_tools/tools/scgenerai/cost.json +2497 -0
  63. andrea/catalog_inference_tools/tools/scgenerai/toolspec.json +146 -0
  64. andrea/catalog_inference_tools/tools/scing/cost.json +1687 -0
  65. andrea/catalog_inference_tools/tools/scing/toolspec.json +257 -0
  66. andrea/catalog_inference_tools/tools/scminer/cost.json +1001 -0
  67. andrea/catalog_inference_tools/tools/scminer/toolspec.json +335 -0
  68. andrea/catalog_inference_tools/tools/scmtni/cost.json +2420 -0
  69. andrea/catalog_inference_tools/tools/scmtni/toolspec.json +152 -0
  70. andrea/catalog_inference_tools/tools/scregulate/cost.json +3437 -0
  71. andrea/catalog_inference_tools/tools/scregulate/toolspec.json +414 -0
  72. andrea/catalog_inference_tools/tools/scsgl/cost.json +1068 -0
  73. andrea/catalog_inference_tools/tools/scsgl/toolspec.json +165 -0
  74. andrea/catalog_inference_tools/tools/simic/cost.json +1220 -0
  75. andrea/catalog_inference_tools/tools/simic/toolspec.json +206 -0
  76. andrea/catalog_inference_tools/tools/tigress/cost.json +4820 -0
  77. andrea/catalog_inference_tools/tools/tigress/toolspec.json +170 -0
  78. andrea/catalog_simulation_data_tools/__init__.py +1 -0
  79. andrea/catalog_simulation_data_tools/input_specs/boolode_boolean_model.json +23 -0
  80. andrea/catalog_simulation_data_tools/input_specs/boolode_initial_conditions.json +22 -0
  81. andrea/catalog_simulation_data_tools/input_specs/boolode_interaction_strengths.json +23 -0
  82. andrea/catalog_simulation_data_tools/input_specs/gnw_dynamical_network.json +15 -0
  83. andrea/catalog_simulation_data_tools/input_specs/groundgan_causal_controller_checkpoint.json +14 -0
  84. andrea/catalog_simulation_data_tools/input_specs/groundgan_causal_graph_pickle.json +15 -0
  85. andrea/catalog_simulation_data_tools/input_specs/groundgan_model_checkpoint.json +14 -0
  86. andrea/catalog_simulation_data_tools/input_specs/groundgan_reference_h5ad.json +16 -0
  87. andrea/catalog_simulation_data_tools/input_specs/regulatory_network.json +23 -0
  88. andrea/catalog_simulation_data_tools/input_specs/sergio_bifurcation_matrix.json +18 -0
  89. andrea/catalog_simulation_data_tools/input_specs/sergio_master_regulators.json +18 -0
  90. andrea/catalog_simulation_data_tools/input_specs/sergio_target_interactions.json +19 -0
  91. andrea/catalog_simulation_data_tools/input_specs/syntren_externals_table.json +21 -0
  92. andrea/catalog_simulation_data_tools/input_specs/syntren_source_network_sif.json +14 -0
  93. andrea/catalog_simulation_data_tools/input_specs/tree_newick.json +14 -0
  94. andrea/catalog_simulation_data_tools/schemas/benchmark-manifest.schema.json +824 -0
  95. andrea/catalog_simulation_data_tools/schemas/ground-truth-manifest.schema.json +245 -0
  96. andrea/catalog_simulation_data_tools/schemas/input-spec.schema.json +151 -0
  97. andrea/catalog_simulation_data_tools/schemas/preflight-report.schema.json +442 -0
  98. andrea/catalog_simulation_data_tools/schemas/scenario-request.schema.json +415 -0
  99. andrea/catalog_simulation_data_tools/schemas/simulation-plan.schema.json +702 -0
  100. andrea/catalog_simulation_data_tools/schemas/simulator-output-manifest.schema.json +451 -0
  101. andrea/catalog_simulation_data_tools/schemas/simulator-runs.schema.json +64 -0
  102. andrea/catalog_simulation_data_tools/schemas/simulatorcost.schema.json +792 -0
  103. andrea/catalog_simulation_data_tools/schemas/simulatorspec.schema.json +1212 -0
  104. andrea/catalog_simulation_data_tools/simulators/boolode/cost.json +1195 -0
  105. andrea/catalog_simulation_data_tools/simulators/boolode/simulatorspec.json +705 -0
  106. andrea/catalog_simulation_data_tools/simulators/dyngen/cost.json +66978 -0
  107. andrea/catalog_simulation_data_tools/simulators/dyngen/simulatorspec.json +3062 -0
  108. andrea/catalog_simulation_data_tools/simulators/genenetweaver/cost.json +1866 -0
  109. andrea/catalog_simulation_data_tools/simulators/genenetweaver/simulatorspec.json +884 -0
  110. andrea/catalog_simulation_data_tools/simulators/genespider2/cost.json +5994 -0
  111. andrea/catalog_simulation_data_tools/simulators/genespider2/simulatorspec.json +1332 -0
  112. andrea/catalog_simulation_data_tools/simulators/groundgan/cost.json +9702 -0
  113. andrea/catalog_simulation_data_tools/simulators/groundgan/simulatorspec.json +582 -0
  114. andrea/catalog_simulation_data_tools/simulators/scmultisim/cost.json +78510 -0
  115. andrea/catalog_simulation_data_tools/simulators/scmultisim/simulatorspec.json +3262 -0
  116. andrea/catalog_simulation_data_tools/simulators/sergio/cost.json +2691 -0
  117. andrea/catalog_simulation_data_tools/simulators/sergio/simulatorspec.json +1812 -0
  118. andrea/catalog_simulation_data_tools/simulators/syntren/cost.json +1850 -0
  119. andrea/catalog_simulation_data_tools/simulators/syntren/simulatorspec.json +731 -0
  120. andrea/cli/__init__.py +1 -0
  121. andrea/cli/app.py +741 -0
  122. andrea/config.py +12 -0
  123. andrea/core/__init__.py +1 -0
  124. andrea/core/commands/__init__.py +1 -0
  125. andrea/core/commands/compare_networks/__init__.py +5 -0
  126. andrea/core/commands/compare_networks/bundles.py +97 -0
  127. andrea/core/commands/compare_networks/comparison.py +278 -0
  128. andrea/core/commands/compare_networks/distances.py +806 -0
  129. andrea/core/commands/compare_networks/loading.py +237 -0
  130. andrea/core/commands/compare_networks/models.py +133 -0
  131. andrea/core/commands/compare_networks/request.py +79 -0
  132. andrea/core/commands/compare_networks/store.py +1651 -0
  133. andrea/core/commands/compare_networks/tables.py +334 -0
  134. andrea/core/commands/compare_networks/utils.py +82 -0
  135. andrea/core/commands/compare_networks/view.py +36 -0
  136. andrea/core/commands/compare_networks/view_assets/__init__.py +1 -0
  137. andrea/core/commands/compare_networks/view_assets/template.html +18 -0
  138. andrea/core/commands/compare_networks/view_assets/view.css +347 -0
  139. andrea/core/commands/compare_networks/view_assets/view.js +328 -0
  140. andrea/core/commands/evaluate_inference/__init__.py +5 -0
  141. andrea/core/commands/evaluate_inference/bundles.py +82 -0
  142. andrea/core/commands/evaluate_inference/evaluation.py +1238 -0
  143. andrea/core/commands/evaluate_inference/view_assets/__init__.py +1 -0
  144. andrea/core/commands/evaluate_inference/view_assets/template.html +18 -0
  145. andrea/core/commands/evaluate_inference/view_assets/view.css +455 -0
  146. andrea/core/commands/evaluate_inference/view_assets/view.js +604 -0
  147. andrea/core/commands/generate_data/__init__.py +19 -0
  148. andrea/core/commands/generate_data/backends/__init__.py +1 -0
  149. andrea/core/commands/generate_data/backends/docker_runner.py +203 -0
  150. andrea/core/commands/generate_data/backends/registry.py +30 -0
  151. andrea/core/commands/generate_data/bootstrap.py +300 -0
  152. andrea/core/commands/generate_data/bundles.py +176 -0
  153. andrea/core/commands/generate_data/catalog.py +138 -0
  154. andrea/core/commands/generate_data/cost_planner.py +939 -0
  155. andrea/core/commands/generate_data/output_validation.py +523 -0
  156. andrea/core/commands/generate_data/pipeline.py +1101 -0
  157. andrea/core/commands/generate_data/plan.py +284 -0
  158. andrea/core/commands/generate_data/request.py +1238 -0
  159. andrea/core/commands/generate_data/scenario.py +100 -0
  160. andrea/core/commands/generate_data/selection.py +297 -0
  161. andrea/core/commands/generate_data/semantic.py +351 -0
  162. andrea/core/commands/generate_data/shared.py +98 -0
  163. andrea/core/commands/infer_network/__init__.py +13 -0
  164. andrea/core/commands/infer_network/bundles.py +212 -0
  165. andrea/core/commands/infer_network/commons/__init__.py +11 -0
  166. andrea/core/commands/infer_network/commons/artifacts.py +270 -0
  167. andrea/core/commands/infer_network/commons/catalog.py +134 -0
  168. andrea/core/commands/infer_network/commons/custom_tools.py +282 -0
  169. andrea/core/commands/infer_network/commons/dataset.py +446 -0
  170. andrea/core/commands/infer_network/commons/execution_state.py +992 -0
  171. andrea/core/commands/infer_network/commons/merge.py +299 -0
  172. andrea/core/commands/infer_network/commons/network_exports.py +463 -0
  173. andrea/core/commands/infer_network/commons/planner.py +1253 -0
  174. andrea/core/commands/infer_network/commons/runtime_helpers.py +583 -0
  175. andrea/core/commands/infer_network/commons/shared.py +145 -0
  176. andrea/core/commands/infer_network/commons/threading.py +93 -0
  177. andrea/core/commands/infer_network/commons/tool_rule_eval.py +201 -0
  178. andrea/core/commands/infer_network/commons/tools.py +752 -0
  179. andrea/core/commands/infer_network/pipeline.py +53 -0
  180. andrea/core/commands/infer_network/plan.py +760 -0
  181. andrea/core/commands/infer_network/preflight.py +314 -0
  182. andrea/core/commands/infer_network/run.py +1340 -0
  183. andrea/core/shared/__init__.py +17 -0
  184. andrea/core/shared/bundles.py +177 -0
  185. andrea/core/shared/catalog_contracts.py +40 -0
  186. andrea/core/shared/compatibility_rules.py +95 -0
  187. andrea/core/shared/container_runtime.py +39 -0
  188. andrea/core/shared/input_specs.py +39 -0
  189. andrea/core/shared/input_validation.py +648 -0
  190. andrea/core/shared/issues.py +42 -0
  191. andrea/core/shared/json_io.py +51 -0
  192. andrea/core/shared/network_context.py +99 -0
  193. andrea/core/shared/param_validation.py +165 -0
  194. andrea/core/shared/paths.py +23 -0
  195. andrea/core/shared/progress.py +28 -0
  196. andrea/core/shared/runtime_profile.py +59 -0
  197. andrea/gui/__init__.py +1 -0
  198. andrea/gui/common/__init__.py +1 -0
  199. andrea/gui/common/reproducibility.py +77 -0
  200. andrea/gui/common/server_files.py +386 -0
  201. andrea/gui/common/server_jobs.py +145 -0
  202. andrea/gui/common/static/app/bundles/modal.js +434 -0
  203. andrea/gui/common/static/app/bundles/styles.css +257 -0
  204. andrea/gui/common/static/app/buttons/styles.css +381 -0
  205. andrea/gui/common/static/app/core/dom.js +95 -0
  206. andrea/gui/common/static/app/files/explorer.js +679 -0
  207. andrea/gui/common/static/app/network_context.js +82 -0
  208. andrea/gui/common/static/app/params/schema_form.js +613 -0
  209. andrea/gui/common/static/app/params/styles.css +66 -0
  210. andrea/gui/common/static/app/repro/styles.css +121 -0
  211. andrea/gui/common/static/app/repro/view.js +160 -0
  212. andrea/gui/common/static/app/runtime/view.js +83 -0
  213. andrea/gui/common/static/app/ui/popovers.css +412 -0
  214. andrea/gui/common/static/app/ui/popovers.js +627 -0
  215. andrea/gui/common/static/app/ui/steps.js +28 -0
  216. andrea/gui/common/static/app/ui/toasts.css +72 -0
  217. andrea/gui/common/static/app/ui/toasts.js +37 -0
  218. andrea/gui/common/static/app/uploads/progress.js +160 -0
  219. andrea/gui/common/static/app/uploads/styles.css +327 -0
  220. andrea/gui/compare_networks/__init__.py +1 -0
  221. andrea/gui/compare_networks/server.py +996 -0
  222. andrea/gui/compare_networks/static/app/main.js +2167 -0
  223. andrea/gui/compare_networks/static/app/shared.js +51 -0
  224. andrea/gui/compare_networks/static/index.html +160 -0
  225. andrea/gui/compare_networks/static/styles.css +1216 -0
  226. andrea/gui/evaluate_inference/__init__.py +1 -0
  227. andrea/gui/evaluate_inference/server.py +642 -0
  228. andrea/gui/evaluate_inference/static/app/main.js +264 -0
  229. andrea/gui/evaluate_inference/static/index.html +159 -0
  230. andrea/gui/evaluate_inference/static/styles.css +185 -0
  231. andrea/gui/generate_data/__init__.py +1 -0
  232. andrea/gui/generate_data/server.py +1528 -0
  233. andrea/gui/generate_data/static/app/execution_view.js +70 -0
  234. andrea/gui/generate_data/static/app/main.js +3017 -0
  235. andrea/gui/generate_data/static/app/plan_view.js +119 -0
  236. andrea/gui/generate_data/static/app/preflight_view.js +173 -0
  237. andrea/gui/generate_data/static/app/runs.js +58 -0
  238. andrea/gui/generate_data/static/app/scenario_templates.js +519 -0
  239. andrea/gui/generate_data/static/app/simulator_catalog.js +146 -0
  240. andrea/gui/generate_data/static/index.html +424 -0
  241. andrea/gui/generate_data/static/styles.css +2514 -0
  242. andrea/gui/infer_network/__init__.py +1 -0
  243. andrea/gui/infer_network/server.py +2688 -0
  244. andrea/gui/infer_network/static/app/catalog/external_tools.js +507 -0
  245. andrea/gui/infer_network/static/app/catalog/model.js +419 -0
  246. andrea/gui/infer_network/static/app/catalog/view.js +174 -0
  247. andrea/gui/infer_network/static/app/core/api.js +70 -0
  248. andrea/gui/infer_network/static/app/core/dom.js +1 -0
  249. andrea/gui/infer_network/static/app/core/state.js +31 -0
  250. andrea/gui/infer_network/static/app/dataset/expression.js +105 -0
  251. andrea/gui/infer_network/static/app/dataset/extras.js +435 -0
  252. andrea/gui/infer_network/static/app/dataset/validation.js +224 -0
  253. andrea/gui/infer_network/static/app/files/explorer.js +42 -0
  254. andrea/gui/infer_network/static/app/jobs/controller.js +353 -0
  255. andrea/gui/infer_network/static/app/main.js +802 -0
  256. andrea/gui/infer_network/static/app/plan/view.js +396 -0
  257. andrea/gui/infer_network/static/app/preflight/view.js +118 -0
  258. andrea/gui/infer_network/static/app/repro/view.js +46 -0
  259. andrea/gui/infer_network/static/app/runs/cards.js +506 -0
  260. andrea/gui/infer_network/static/app/runs/execution_modes.js +32 -0
  261. andrea/gui/infer_network/static/app/runs/params_modal.js +93 -0
  262. andrea/gui/infer_network/static/app/runtime/view.js +1346 -0
  263. andrea/gui/infer_network/static/app/ui/popovers.js +1 -0
  264. andrea/gui/infer_network/static/app/ui/steps.js +16 -0
  265. andrea/gui/infer_network/static/app/ui/toasts.js +1 -0
  266. andrea/gui/infer_network/static/index.html +638 -0
  267. andrea/gui/infer_network/static/styles.css +3152 -0
  268. andrea-0.1.0.dist-info/METADATA +147 -0
  269. andrea-0.1.0.dist-info/RECORD +273 -0
  270. andrea-0.1.0.dist-info/WHEEL +5 -0
  271. andrea-0.1.0.dist-info/entry_points.txt +2 -0
  272. andrea-0.1.0.dist-info/licenses/LICENSE +21 -0
  273. andrea-0.1.0.dist-info/top_level.txt +1 -0
andrea/__init__.py ADDED
@@ -0,0 +1,5 @@
1
+ """ANDREA package root."""
2
+
3
+ from .config import __author__, __version__
4
+
5
+ __all__ = ["__author__", "__version__"]
andrea/__main__.py ADDED
@@ -0,0 +1,15 @@
1
+ """Entry point for the ANDREA CLI."""
2
+
3
+ from rich import print
4
+
5
+ from andrea.cli.app import app
6
+ from andrea.config import HEADER
7
+
8
+
9
+ def main() -> None:
10
+ print(HEADER)
11
+ app()
12
+
13
+
14
+ if __name__ == "__main__":
15
+ main()
@@ -0,0 +1 @@
1
+ """Packaged inference tool catalog (schemas + toolspec-driven wrappers metadata)."""
@@ -0,0 +1,64 @@
1
+ {
2
+ "schema_version": "1.0",
3
+ "key": "cell_cell_interactions",
4
+ "file_kind": "tsv",
5
+ "description": "Cell-cell interaction TSV: directed ligand-receptor effects between public expression columns.",
6
+ "example": "source_column\ttarget_column\tsource_group\ttarget_group\tligand\treceptor\tscore\tsign\teffect\nspot_1\tspot_2\tA\tB\tL1\tR1\t1.0\t+\t5.2",
7
+ "delimiter": "\t",
8
+ "header": true,
9
+ "min_rows": 1,
10
+ "min_columns": 9,
11
+ "first_column_role": "none",
12
+ "required_columns": [
13
+ "source_column",
14
+ "target_column",
15
+ "source_group",
16
+ "target_group",
17
+ "ligand",
18
+ "receptor",
19
+ "score",
20
+ "sign",
21
+ "effect"
22
+ ],
23
+ "column_types": {
24
+ "source_column": "string",
25
+ "target_column": "string",
26
+ "source_group": "string",
27
+ "target_group": "string",
28
+ "ligand": "string",
29
+ "receptor": "string",
30
+ "score": "float",
31
+ "sign": "string",
32
+ "effect": "float"
33
+ },
34
+ "cross_checks": [
35
+ {
36
+ "kind": "column_subset_expression_columns",
37
+ "column": "source_column"
38
+ },
39
+ {
40
+ "kind": "column_subset_expression_columns",
41
+ "column": "target_column"
42
+ },
43
+ {
44
+ "kind": "column_subset_expression_genes",
45
+ "column": "ligand"
46
+ },
47
+ {
48
+ "kind": "column_subset_expression_genes",
49
+ "column": "receptor"
50
+ },
51
+ {
52
+ "kind": "column_subset_extra_column",
53
+ "column": "source_group",
54
+ "other_input": "groups",
55
+ "other_column": "cluster"
56
+ },
57
+ {
58
+ "kind": "column_subset_extra_column",
59
+ "column": "target_group",
60
+ "other_input": "groups",
61
+ "other_column": "cluster"
62
+ }
63
+ ]
64
+ }
@@ -0,0 +1,20 @@
1
+ {
2
+ "schema_version": "1.0",
3
+ "key": "chromatin_accessibility",
4
+ "file_kind": "tsv",
5
+ "description": "Chromatin accessibility matrix TSV: first column contains chromatin region identifiers and remaining columns match expression column identifiers.",
6
+ "example": "region\tspot_1\tspot_2\nregion_1\t0\t2\nregion_2\t1\t0",
7
+ "delimiter": "\t",
8
+ "header": true,
9
+ "min_rows": 1,
10
+ "min_columns": 2,
11
+ "first_column_role": "none",
12
+ "unique_first_column": true,
13
+ "data_columns_type": "float",
14
+ "data_numeric_min_fraction": 1.0,
15
+ "cross_checks": [
16
+ {
17
+ "kind": "data_columns_match_expression_columns"
18
+ }
19
+ ]
20
+ }
@@ -0,0 +1,23 @@
1
+ {
2
+ "schema_version": "1.0",
3
+ "key": "chromatin_regions",
4
+ "file_kind": "tsv",
5
+ "description": "Chromatin region metadata TSV: one row per public chromatin region with stable region id, numeric region index and semicolon-separated linked expression genes.",
6
+ "example": "region\tregion_index\tlinked_genes\nregion_1\t1\tG1;G2\nregion_2\t2\tG3",
7
+ "delimiter": "\t",
8
+ "header": true,
9
+ "min_rows": 1,
10
+ "min_columns": 3,
11
+ "first_column_role": "none",
12
+ "required_columns": [
13
+ "region",
14
+ "region_index",
15
+ "linked_genes"
16
+ ],
17
+ "unique_first_column": true,
18
+ "column_types": {
19
+ "region": "string",
20
+ "region_index": "float",
21
+ "linked_genes": "string"
22
+ }
23
+ }
@@ -0,0 +1,30 @@
1
+ {
2
+ "schema_version": "1.0",
3
+ "key": "cluster_identities",
4
+ "file_kind": "tsv",
5
+ "description": "Cluster identity TSV: maps cluster IDs to human-readable cluster annotations, with an optional integer order column for methods that display or rank clusters along a known ordering.",
6
+ "example": "cluster\tannotation\torder\nA\tcortex\t1\nB\tendodermis\t2",
7
+ "delimiter": "\t",
8
+ "header": true,
9
+ "min_rows": 1,
10
+ "min_columns": 2,
11
+ "first_column_role": "none",
12
+ "required_columns": [
13
+ "cluster",
14
+ "annotation"
15
+ ],
16
+ "unique_first_column": true,
17
+ "column_types": {
18
+ "cluster": "string",
19
+ "annotation": "string",
20
+ "order": "int"
21
+ },
22
+ "cross_checks": [
23
+ {
24
+ "kind": "column_subset_extra_column",
25
+ "column": "cluster",
26
+ "other_input": "groups",
27
+ "other_column": "cluster"
28
+ }
29
+ ]
30
+ }
@@ -0,0 +1,35 @@
1
+ {
2
+ "schema_version": "1.0",
3
+ "key": "cluster_markers",
4
+ "file_kind": "tsv",
5
+ "description": "Cluster marker TSV: Seurat FindAllMarkers-style marker table with one row per upregulated marker gene and a cluster assignment for that marker.",
6
+ "example": "geneID\tp_val\tavg_logFC\tpct.1\tpct.2\tp_val_adj\tcluster\tgene\nG1\t0.001\t0.8\t0.7\t0.2\t0.01\tA\tG1\nG2\t0.002\t0.6\t0.6\t0.1\t0.02\tB\tG2",
7
+ "delimiter": "\t",
8
+ "header": true,
9
+ "min_rows": 1,
10
+ "min_columns": 4,
11
+ "first_column_role": "none",
12
+ "required_columns": [
13
+ "cluster",
14
+ "gene",
15
+ "p_val_adj"
16
+ ],
17
+ "column_types": {
18
+ "cluster": "string",
19
+ "gene": "string",
20
+ "p_val_adj": "float",
21
+ "avg_logFC": "float"
22
+ },
23
+ "cross_checks": [
24
+ {
25
+ "kind": "column_subset_expression_genes",
26
+ "column": "gene"
27
+ },
28
+ {
29
+ "kind": "column_subset_extra_column",
30
+ "column": "cluster",
31
+ "other_input": "groups",
32
+ "other_column": "cluster"
33
+ }
34
+ ]
35
+ }
@@ -0,0 +1,25 @@
1
+ {
2
+ "schema_version": "1.0",
3
+ "key": "column_descriptors",
4
+ "file_kind": "tsv",
5
+ "description": "Column descriptor TSV: first column maps expression column identifiers to one or more categorical descriptor columns such as batch, donor, condition, cell type, timepoint or perturbation.",
6
+ "example": "column\tbatch\tcondition\ncell_1\tbatch_a\tcontrol\ncell_2\tbatch_b\tstimulated",
7
+ "delimiter": "\t",
8
+ "header": true,
9
+ "min_rows": 1,
10
+ "min_columns": 2,
11
+ "first_column_role": "expression_column_id",
12
+ "unique_first_column": true,
13
+ "data_columns_type": "any",
14
+ "data_numeric_min_fraction": 0.0,
15
+ "required_columns": [],
16
+ "column_types": {},
17
+ "cross_checks": [
18
+ {
19
+ "kind": "first_column_subset_expression_columns"
20
+ },
21
+ {
22
+ "kind": "row_count_matches_expression_columns"
23
+ }
24
+ ]
25
+ }
@@ -0,0 +1,29 @@
1
+ {
2
+ "schema_version": "1.0",
3
+ "key": "column_phenotypes",
4
+ "file_kind": "tsv",
5
+ "description": "Ordered column phenotype TSV: first column maps expression column identifiers to a phenotype/state label, and order gives the integer phenotype order used by methods that model transitions between phenotypes.",
6
+ "example": "column\tphenotype\torder\ncell_1\tIP\t0\ncell_2\tIP\t0\ncell_3\tD12\t1",
7
+ "delimiter": "\t",
8
+ "header": true,
9
+ "min_rows": 1,
10
+ "min_columns": 3,
11
+ "first_column_role": "expression_column_id",
12
+ "required_columns": [
13
+ "phenotype",
14
+ "order"
15
+ ],
16
+ "unique_first_column": true,
17
+ "column_types": {
18
+ "phenotype": "string",
19
+ "order": "int"
20
+ },
21
+ "cross_checks": [
22
+ {
23
+ "kind": "first_column_subset_expression_columns"
24
+ },
25
+ {
26
+ "kind": "row_count_matches_expression_columns"
27
+ }
28
+ ]
29
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "schema_version": "1.0",
3
+ "key": "enrichment_background",
4
+ "file_kind": "txt_list",
5
+ "description": "Enrichment background gene list: one gene identifier per line, used as a user-provided background universe for enrichment analyses.",
6
+ "example": "G1\nG2\nG3",
7
+ "min_rows": 1,
8
+ "cross_checks": []
9
+ }
@@ -0,0 +1,30 @@
1
+ {
2
+ "schema_version": "1.0",
3
+ "key": "expression_matrix",
4
+ "file_kind": "tsv",
5
+ "description": "Expression matrix TSV. Header row required. First column is gene identifier and remaining columns are samples/cells.",
6
+ "example": "gene\tcell_1\tcell_2\nG1\t0.12\t0.20\nG2\t1.30\t0.95",
7
+ "delimiter": "\t",
8
+ "header": true,
9
+ "min_rows": 1,
10
+ "min_columns": 2,
11
+ "first_column_role": "gene_id",
12
+ "first_column_disallowed_names": [
13
+ "cell",
14
+ "cells",
15
+ "sample",
16
+ "samples",
17
+ "timepoint",
18
+ "timepoints",
19
+ "perturbation",
20
+ "perturbations",
21
+ "cluster",
22
+ "pseudotime"
23
+ ],
24
+ "unique_first_column": true,
25
+ "data_columns_type": "float",
26
+ "data_numeric_min_fraction": 1.0,
27
+ "required_columns": [],
28
+ "column_types": {},
29
+ "cross_checks": []
30
+ }
@@ -0,0 +1,32 @@
1
+ {
2
+ "schema_version": "1.0",
3
+ "key": "grnboost_network",
4
+ "file_kind": "tsv",
5
+ "description": "Precomputed GRNBoost2 network TSV: directed regulator-target edges with raw GRNBoost2 importance scores, used by tools that can skip de novo GRNBoost2 inference.",
6
+ "example": "source\ttarget\tscore\nTF1\tG1\t0.82\nTF2\tG2\t0.41",
7
+ "delimiter": "\t",
8
+ "header": true,
9
+ "min_rows": 1,
10
+ "min_columns": 3,
11
+ "first_column_role": "none",
12
+ "required_columns": [
13
+ "source",
14
+ "target",
15
+ "score"
16
+ ],
17
+ "column_types": {
18
+ "source": "string",
19
+ "target": "string",
20
+ "score": "float"
21
+ },
22
+ "cross_checks": [
23
+ {
24
+ "kind": "column_subset_expression_genes",
25
+ "column": "source"
26
+ },
27
+ {
28
+ "kind": "column_subset_expression_genes",
29
+ "column": "target"
30
+ }
31
+ ]
32
+ }
@@ -0,0 +1,20 @@
1
+ {
2
+ "schema_version": "1.0",
3
+ "key": "groups",
4
+ "file_kind": "tsv",
5
+ "description": "Groups TSV: first column maps expression column identifiers to a cluster/group label.",
6
+ "example": "column\tcluster\nS1\tA\nS2\tB",
7
+ "delimiter": "\t",
8
+ "header": true,
9
+ "min_rows": 1,
10
+ "min_columns": 2,
11
+ "first_column_role": "expression_column_id",
12
+ "required_columns": ["cluster"],
13
+ "unique_first_column": true,
14
+ "column_types": {
15
+ "cluster": "string"
16
+ },
17
+ "cross_checks": [
18
+ {"kind": "first_column_subset_expression_columns"}
19
+ ]
20
+ }
@@ -0,0 +1,32 @@
1
+ {
2
+ "schema_version": "1.0",
3
+ "key": "interventions",
4
+ "file_kind": "tsv",
5
+ "description": "Intervention TSV: one row per intervention definition, including the perturbed target gene and intervention effect.",
6
+ "example": "intervention\ttarget\teffect\tsign\tdose\nknockdown_G1\tG1\tknockdown\t-1\t1.0\noverexpress_G2\tG2\toverexpression\t1\t1.0",
7
+ "delimiter": "\t",
8
+ "header": true,
9
+ "min_rows": 1,
10
+ "min_columns": 3,
11
+ "first_column_role": "none",
12
+ "required_columns": [
13
+ "intervention",
14
+ "target",
15
+ "effect"
16
+ ],
17
+ "unique_first_column": true,
18
+ "column_types": {
19
+ "intervention": "string",
20
+ "target": "string",
21
+ "effect": "string",
22
+ "sign": "int",
23
+ "dose": "float",
24
+ "timepoint": "float"
25
+ },
26
+ "cross_checks": [
27
+ {
28
+ "kind": "column_subset_expression_genes",
29
+ "column": "target"
30
+ }
31
+ ]
32
+ }
@@ -0,0 +1,18 @@
1
+ {
2
+ "schema_version": "1.0",
3
+ "key": "lineage_tree",
4
+ "file_kind": "tsv",
5
+ "description": "Lineage tree TSV with child, parent, gain_rate and loss_rate. Every group must appear as a child; root groups use parent '__root__' with gain_rate=0 and loss_rate=0.",
6
+ "example": "child\tparent\tgain_rate\tloss_rate\nC1\t__root__\t0\t0\nC2\tC1\t0.2\t0.1",
7
+ "delimiter": "\t",
8
+ "header": true,
9
+ "min_rows": 1,
10
+ "required_columns": ["child", "parent", "gain_rate", "loss_rate"],
11
+ "column_types": {
12
+ "child": "string",
13
+ "parent": "string",
14
+ "gain_rate": "float",
15
+ "loss_rate": "float"
16
+ },
17
+ "cross_checks": []
18
+ }
@@ -0,0 +1,39 @@
1
+ {
2
+ "schema_version": "1.0",
3
+ "key": "perturbation_design",
4
+ "file_kind": "tsv",
5
+ "description": "Perturbation design TSV: first column maps expression column identifiers to experimental condition metadata for perturbational datasets.",
6
+ "example": "column\tcondition\tperturbation\ttarget\tdose\ttimepoint\treplicate\ncell_1\tcontrol\tnone\t\t0\t0\tr1\ncell_2\tknockdown_G1\tknockdown\tG1\t1\t24\tr1",
7
+ "delimiter": "\t",
8
+ "header": true,
9
+ "min_rows": 1,
10
+ "min_columns": 2,
11
+ "first_column_role": "expression_column_id",
12
+ "required_columns": [
13
+ "condition"
14
+ ],
15
+ "unique_first_column": true,
16
+ "data_columns_type": "any",
17
+ "data_numeric_min_fraction": 0.0,
18
+ "column_types": {
19
+ "condition": "string",
20
+ "perturbation": "string",
21
+ "target": "string",
22
+ "dose": "float",
23
+ "timepoint": "float",
24
+ "replicate": "string",
25
+ "control": "bool"
26
+ },
27
+ "cross_checks": [
28
+ {
29
+ "kind": "first_column_subset_expression_columns"
30
+ },
31
+ {
32
+ "kind": "row_count_matches_expression_columns"
33
+ },
34
+ {
35
+ "kind": "column_subset_expression_genes",
36
+ "column": "target"
37
+ }
38
+ ]
39
+ }
@@ -0,0 +1,20 @@
1
+ {
2
+ "schema_version": "1.0",
3
+ "key": "prior_grn",
4
+ "file_kind": "tsv",
5
+ "description": "Global prior GRN edges with source regulator, target gene and score. Nonzero scores indicate known or putative regulatory connections; sign and magnitude may be meaningful to tools that estimate regulator activity from priors.",
6
+ "example": "source\ttarget\tscore\nTF1\tG1\t1\nTF2\tG2\t-1",
7
+ "delimiter": "\t",
8
+ "header": true,
9
+ "min_rows": 1,
10
+ "required_columns": ["source", "target", "score"],
11
+ "column_types": {
12
+ "source": "string",
13
+ "target": "string",
14
+ "score": "float"
15
+ },
16
+ "cross_checks": [
17
+ {"kind": "column_subset_expression_genes", "column": "source"},
18
+ {"kind": "column_subset_expression_genes", "column": "target"}
19
+ ]
20
+ }
@@ -0,0 +1,27 @@
1
+ {
2
+ "schema_version": "1.0",
3
+ "key": "prior_grn_by_group",
4
+ "file_kind": "tsv",
5
+ "description": "Group-specific prior GRN edges with group, source, target and score.",
6
+ "example": "group\tsource\ttarget\tscore\nA\tG1\tG2\t0.82\nB\tG1\tG3\t0.41",
7
+ "delimiter": "\t",
8
+ "header": true,
9
+ "min_rows": 1,
10
+ "required_columns": ["group", "source", "target", "score"],
11
+ "column_types": {
12
+ "group": "string",
13
+ "source": "string",
14
+ "target": "string",
15
+ "score": "float"
16
+ },
17
+ "cross_checks": [
18
+ {"kind": "column_subset_expression_genes", "column": "source"},
19
+ {"kind": "column_subset_expression_genes", "column": "target"},
20
+ {
21
+ "kind": "column_subset_extra_column",
22
+ "column": "group",
23
+ "other_input": "groups",
24
+ "other_column": "cluster"
25
+ }
26
+ ]
27
+ }
@@ -0,0 +1,27 @@
1
+ {
2
+ "schema_version": "1.0",
3
+ "key": "pseudotime",
4
+ "file_kind": "tsv",
5
+ "description": "Pseudotime TSV: first column maps expression column identifiers to a numeric pseudotime value.",
6
+ "example": "column\tpseudotime\ncell_1\t0.0\ncell_2\t0.4\ncell_3\t1.0",
7
+ "delimiter": "\t",
8
+ "header": true,
9
+ "min_rows": 1,
10
+ "min_columns": 2,
11
+ "first_column_role": "expression_column_id",
12
+ "required_columns": [
13
+ "pseudotime"
14
+ ],
15
+ "unique_first_column": true,
16
+ "column_types": {
17
+ "pseudotime": "float"
18
+ },
19
+ "cross_checks": [
20
+ {
21
+ "kind": "first_column_subset_expression_columns"
22
+ },
23
+ {
24
+ "kind": "row_count_matches_expression_columns"
25
+ }
26
+ ]
27
+ }
@@ -0,0 +1,31 @@
1
+ {
2
+ "schema_version": "1.0",
3
+ "key": "replicates",
4
+ "file_kind": "tsv",
5
+ "description": "Replicate TSV: first column maps expression column identifiers to biological or technical replicate labels.",
6
+ "example": "column\treplicate\tbatch\nsample_1\tr1\tbatch_a\nsample_2\tr2\tbatch_a\nsample_3\tr1\tbatch_b",
7
+ "delimiter": "\t",
8
+ "header": true,
9
+ "min_rows": 1,
10
+ "min_columns": 2,
11
+ "first_column_role": "expression_column_id",
12
+ "required_columns": [
13
+ "replicate"
14
+ ],
15
+ "unique_first_column": true,
16
+ "data_columns_type": "any",
17
+ "data_numeric_min_fraction": 0.0,
18
+ "column_types": {
19
+ "replicate": "string",
20
+ "batch": "string",
21
+ "condition": "string"
22
+ },
23
+ "cross_checks": [
24
+ {
25
+ "kind": "first_column_subset_expression_columns"
26
+ },
27
+ {
28
+ "kind": "row_count_matches_expression_columns"
29
+ }
30
+ ]
31
+ }
@@ -0,0 +1,32 @@
1
+ {
2
+ "schema_version": "1.0",
3
+ "key": "spatial_coordinates",
4
+ "file_kind": "tsv",
5
+ "description": "Spatial coordinate TSV: first column maps expression column identifiers to numeric spatial coordinates used by spatial transcriptomics methods.",
6
+ "example": "column\tx\ty\nspot_1\t0.0\t1.2\nspot_2\t0.5\t1.4",
7
+ "delimiter": "\t",
8
+ "header": true,
9
+ "min_rows": 1,
10
+ "min_columns": 3,
11
+ "first_column_role": "expression_column_id",
12
+ "required_columns": [
13
+ "x",
14
+ "y"
15
+ ],
16
+ "unique_first_column": true,
17
+ "data_columns_type": "float",
18
+ "data_numeric_min_fraction": 1.0,
19
+ "column_types": {
20
+ "x": "float",
21
+ "y": "float",
22
+ "z": "float"
23
+ },
24
+ "cross_checks": [
25
+ {
26
+ "kind": "first_column_subset_expression_columns"
27
+ },
28
+ {
29
+ "kind": "row_count_matches_expression_columns"
30
+ }
31
+ ]
32
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "schema_version": "1.0",
3
+ "key": "terms_of_interest",
4
+ "file_kind": "txt_list",
5
+ "description": "Terms of interest list: one ontology term, ontology ID or plain-language keyword per line, used by methods that prioritize regulators against expected functions or biological themes.",
6
+ "example": "root\nGO:0009819\nvascular",
7
+ "min_rows": 1,
8
+ "cross_checks": []
9
+ }
@@ -0,0 +1,11 @@
1
+ {
2
+ "schema_version": "1.0",
3
+ "key": "tf_list",
4
+ "file_kind": "txt_list",
5
+ "description": "TF list text file. One TF identifier per line.",
6
+ "example": "SOX2\nMYC\nTP53",
7
+ "min_rows": 1,
8
+ "cross_checks": [
9
+ {"kind": "line_subset_expression_genes"}
10
+ ]
11
+ }
@@ -0,0 +1,28 @@
1
+ {
2
+ "schema_version": "1.0",
3
+ "key": "timepoints",
4
+ "file_kind": "tsv",
5
+ "description": "Timepoint TSV: first column maps expression column identifiers to observed time coordinates or ordered sampling times.",
6
+ "example": "column\ttimepoint\nsample_1\t0\nsample_2\t6\nsample_3\t12",
7
+ "delimiter": "\t",
8
+ "header": true,
9
+ "min_rows": 1,
10
+ "min_columns": 2,
11
+ "first_column_role": "expression_column_id",
12
+ "required_columns": [
13
+ "timepoint"
14
+ ],
15
+ "unique_first_column": true,
16
+ "column_types": {
17
+ "timepoint": "float",
18
+ "timepoint_label": "string"
19
+ },
20
+ "cross_checks": [
21
+ {
22
+ "kind": "first_column_subset_expression_columns"
23
+ },
24
+ {
25
+ "kind": "row_count_matches_expression_columns"
26
+ }
27
+ ]
28
+ }