How krishnan-rama/defensome works
This repository is a research pipeline for comparing detoxification (“defensome”) gene families across Lepidoptera and outgroups. Its documented workflow annotates protein sequences, maps domain hits to families, aggregates species-level calls, assigns CYP clan membership, and performs per-clan phylogenetics. Separate scripts extract family sequences and join defensome calls to OrthoFinder orthogroups for evolutionary summaries. The README describes capabilities beyond the sampled implementation; those links are shown as documented, while implementation details for unsampled stages remain unverified.
Main entry points: workflow/parse_interpro_defensome.py Defensome calls · 3-postprocess.slurm Clan alignments and trees · workflow_scripts/parse_interpro_defensome.py Domain call parser · join_defensome_orthofinder.py Orthogroup join
Components 19
Annotation and calls
- Domain call parser
workflow_scripts/parse_interpro_defensome.py - Family FASTA extraction
workflow_scripts/extract_family_fastas.py - Defensome calls
workflow_scripts/workflow/parse_interpro_defensome.py
Comparative analysis
- Species aggregation
3-postprocess.slurm - CYP clan assignment
3-postprocess.slurm - Orthogroup join
orthofinder_analysis/join_defensome_orthofinder.py - Orthogroup summary
orthofinder_analysis/summarize_defensome_by_og.py
CYP phylogenetics
- Clan alignments and trees
3-postprocess.slurm
Results and interface
- Analysis outputs
3-postprocess.slurm - Results dashboard
defensome_dashboard_v2.html - Dashboard deployment
deploy_defensome.sh
Other components
- Researcher
- Species proteomes
- Pfam database
- InterProScan results
- HMMER
- MAFFT
- IQ-TREE2
- OrthoFinder groups
Connections 19
- Researcher → Species proteomes: provides input
README.md - Species proteomes → Domain call parser: supplies sequences
workflow_scripts/parse_interpro_defensome.py - Pfam database → Domain call parser: maps signatures
workflow_scripts/parse_interpro_defensome.py - InterProScan results → Domain call parser: provides hits
workflow_scripts/parse_interpro_defensome.py - Domain call parser → Defensome calls: writes calls
- Defensome calls → Family FASTA extraction: selects proteins
workflow_scripts/extract_family_fastas.py - Defensome calls → Species aggregation: aggregates counts
README.md - Species aggregation → CYP clan assignment: assigns clans
README.md - CYP clan assignment → HMMER: scans sequences
README.md - CYP clan assignment → Clan alignments and trees: selects clans
README.md - Clan alignments and trees → MAFFT: aligns sequences
README.md - Clan alignments and trees → IQ-TREE2: infers trees
README.md - Species aggregation → Analysis outputs: writes summaries
README.md - Clan alignments and trees → Analysis outputs: writes phylogenies
README.md - Analysis outputs → Results dashboard: presents results
- Results dashboard → Dashboard deployment: can be deployed
- Defensome calls → Orthogroup join: joins protein calls
orthofinder_analysis/join_defensome_orthofinder.py - OrthoFinder groups → Orthogroup join: maps gene IDs
orthofinder_analysis/join_defensome_orthofinder.py - Orthogroup join → Orthogroup summary: summarizes orthogroups
orthofinder_analysis/summarize_defensome_by_og.py