How tobiaszehnder/ipp works
IPP projects genomic coordinates between species using direct alignments or a shortest path through bridging species, then classifies and reports conservation. The main runtime path is documented by the CLI and sampled Python/C++ interfaces. The README also documents a custom alignment-generation capability; its detailed Snakefile wiring was not sampled, so only documented stages and supported converter relationships are shown.
Main entry points: project.py Projection CLI · Snakefile Workflow rules · ipp.cpp Projection core · ippmodule.cpp Python binding
Components 18
Alignment preparation
- Alignment workflow
compute_alignments/compute_pairwise_alignments.sh - Workflow rules
compute_alignments/Snakefile - Chain conversion
compute_alignments/chainToTbl.py - Alignment collection
compute_alignments/collect_pwalns.py
Projection engine
- Projection core
cpp/src/ipp.cpp - Loaded alignments
cpp/include/ipp.h - Bridged projection
cpp/src/ipp.cpp
Classification and results
- Conservation classification
src/ipp/project.py - Projection results
src/ipp/project.py - Unmapped regions
src/ipp/project.py
Python interface
- Projection CLI
src/ipp/project.py - Python binding
cpp/src/ippmodule.cpp
Other components
- Researcher
- Genome FASTA
- Alignment tools
- Input regions
- Pairwise alignments
- Target functional regions
Connections 19
- Researcher → Alignment workflow: starts workflow
- Genome FASTA → Alignment workflow: provides genomes
- Alignment workflow → Workflow rules: runs rules
- Workflow rules → Alignment tools: dispatches tools
- Workflow rules → Chain conversion: uses converter
- Chain conversion → Alignment collection: converts chains
- Alignment collection → Pairwise alignments: writes binary
- Researcher → Projection CLI: runs projection
- Input regions → Projection CLI: provides coordinates
- Pairwise alignments → Projection CLI: provides alignments
- Target functional regions → Conservation classification: provides target regions
- Projection CLI → Python binding: calls projection API
- Python binding → Projection core: dispatches jobs
- Projection core → Loaded alignments: loads alignment data
- Projection core → Bridged projection: computes bridged paths
- Python binding → Projection CLI: returns projections
- Projection CLI → Conservation classification: classifies projections
- Conservation classification → Projection results: writes results
- Projection CLI → Unmapped regions: writes unmapped names