Skip to content

Commit b7e6288

Browse files
000specificclaude
andcommitted
annotations_X_orthogroups: read annogroups directly, drop OCL dependency
Script 003 now imports the annogroup map + membership DIRECTLY from the annogroups subproject (no OCL dependency) and includes 'absent' as a pfam-dark STATE row (useful for orthogroup intersection, unlike OCL where absent is meaningless). - config: annogroups_dir -> annogroups subproject; annogroup_subtypes -> annogroup_types (feature/combination/architecture/absent); removed reference_structure - run RUN_2 (species70 pfam): validation PASS, 7,546 annogroups kept; absent state row shows pfam-dark proteins in 28,120 of 31,092 qualifying orthogroups Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
1 parent 1341aaa commit b7e6288

4 files changed

Lines changed: 156 additions & 144 deletions

File tree

gigantic_project-COPYME/subprojects/integrator/BLOCK_annotations_X_orthogroups/AI_GUIDE.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ Scope: BLOCK_annotations_X_orthogroups.
1515
- Workflow template: [`workflow-COPYME-annotations_X_orthogroups/`](workflow-COPYME-annotations_X_orthogroups/)
1616
- This BLOCK's workflow guide: [`workflow-COPYME-annotations_X_orthogroups/ai/AI_GUIDE.md`](workflow-COPYME-annotations_X_orthogroups/ai/AI_GUIDE.md)
1717
- Reads FROM:
18-
- `../../ocl_phylogenetic_structures/output_to_input/BLOCK_annotations_X_ocl/<run_label>/<reference_structure>/``1_ai-*-annogroups-single.tsv` + `1_ai-*-annogroups-combo.tsv` (annogroup member `Sequence_IDs`) + `4_ai-*-complete_ocl_summary-all_types.tsv` (pfam accessions/definitions)
18+
- `../../annogroups/output_to_input/BLOCK_build_annogroups/<species_set>/<source>/``2_ai-<source>-annogroup_map.tsv` (annogroup type, accessions, definitions) + `2_ai-<source>-annogroup_membership.tsv` (member `Sequence_IDs` per annogroup). **Imported DIRECTLY from the annogroups subproject — no OCL dependency.** Types included: feature + combination + architecture + **absent** (the pfam-dark state row; see `annogroup_types` in the config).
1919
- `../../orthogroups/output_to_input/BLOCK_orthohmm_GIGANTIC/orthogroups_gigantic_ids.tsv` — orthogroup membership
2020
- `../../trees_species/output_to_input/BLOCK_permutations_and_features/Species_Clade_Species_Mappings/9_ai-clade_species_mappings-all_structures.tsv` — Bilateria (`C103`) + Metazoa (`C082`) species sets
2121
- Outputs TO: `../output_to_input/BLOCK_annotations_X_orthogroups/<run_label>/`

gigantic_project-COPYME/subprojects/integrator/BLOCK_annotations_X_orthogroups/workflow-COPYME-annotations_X_orthogroups/START_HERE-user_config.yaml

Lines changed: 22 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -40,31 +40,32 @@ run_label: "species70_pfam_X_OrthoHMM"
4040
# Species set identifier (must match the upstream annogroup + orthogroup subprojects)
4141
species_set_name: "species70"
4242

43-
# Annotation database the annogroups were built from (provenance label only;
44-
# the actual files are pointed at by inputs.annogroups_dir below).
43+
# Annotation source the annogroups were built from. This is the annogroups
44+
# subproject SOURCE name and selects which per-source annogroup set to integrate.
4545
annotation_database: "pfam"
4646

47-
# Annogroup subtypes to include. 'zero' (unannotated proteins) is intentionally
48-
# excluded by default. Each listed subtype must have a membership file exposed in
49-
# inputs.annogroups_dir/<reference_structure>/1_ai-<structure>_annogroups-<subtype>.tsv
50-
annogroup_subtypes:
51-
- "single"
52-
- "combo"
47+
# Annogroup TYPES to include (the annogroups subproject's four-type framework).
48+
# Unlike OCL (an origin engine, where 'absent' is meaningless), the integrator is
49+
# a STATE intersection: 'absent' (pfam-dark proteins) is an accurate per-sequence
50+
# STATE and intersecting it with orthogroups is useful (e.g. qualifying orthogroups
51+
# made of pfam-dark proteins -- "dark orthogroups"). So 'absent' IS included here.
52+
# Note: the absent row is a single large row spanning many orthogroups -- a state
53+
# summary, not a per-origin row.
54+
annogroup_types:
55+
- "feature"
56+
- "combination"
57+
- "architecture"
58+
- "absent"
5359

5460
# Input paths (relative to this workflow directory)
5561
inputs:
56-
# Annogroups (the Table 1 spine). A run_label subdir of the OCL annotations
57-
# block's output_to_input. Each structure_NNN/ subdir exposes:
58-
# 1_ai-<structure>_annogroups-single.tsv (member Sequence_IDs; single subtype)
59-
# 1_ai-<structure>_annogroups-combo.tsv (member Sequence_IDs; combo subtype)
60-
# 4_ai-<structure>_annogroups-complete_ocl_summary-all_types.tsv
61-
# (pfam Annotation_Accessions + Annotation_Definitions per annogroup)
62-
# Annogroup membership is structure-invariant, so reference_structure picks ONE.
63-
annogroups_dir: "../../../ocl_phylogenetic_structures/output_to_input/BLOCK_annotations_X_ocl/species70_pfam"
64-
65-
# Which structure's annogroup membership/summary to read (membership is
66-
# structure-invariant; structure_001 is the user-provided input species tree).
67-
reference_structure: "structure_001"
62+
# Annogroups (the Table 1 spine) imported DIRECTLY from the annogroups
63+
# subproject output_to_input ROOT (BLOCK_build_annogroups). The per-source
64+
# files (structure-independent) are read from:
65+
# <annogroups_dir>/<species_set_name>/<annotation_database>/
66+
# 2_ai-<source>-annogroup_map.tsv (type, accessions, definitions)
67+
# 2_ai-<source>-annogroup_membership.tsv (member Sequence_IDs per annogroup)
68+
annogroups_dir: "../../../annogroups/output_to_input/BLOCK_build_annogroups"
6869

6970
# Orthogroups (the Table 2 spine). Headerless TSV: OG_ID then tab-delimited
7071
# member full GIGANTIC IDs. Each member's species comes from its -n_<phyloname>.
@@ -100,7 +101,7 @@ output:
100101
# the orthogroup protein->orthogroup map dominates memory.
101102

102103
cpus: 3
103-
memory_gb: 20
104+
memory_gb: 32
104105
time_hours: 4
105106

106107
# =============================================================================

0 commit comments

Comments
 (0)