Load structural variant sequences from Exacto
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 87
- Forks
- 28
- Avg merge
- 3h 27m
- Merged PRs (30d)
- 27
Description
Summary
Integrate varcode with Exacto to support loading and representing structural variant (SV) sequences and their protein-level consequences. This requires expanding varcode beyond its current point-variant model (SNVs, indels) to handle multi-locus rearrangements, accept externally computed annotations, and incorporate RNA-level evidence for determining variant effects.
Motivation
Varcode currently predicts variant effects from genomic coordinates alone, which works well for point variants but falls short for structural variants:
- SVs have complex genomic signatures — translocations, inversions, and duplications involve two or more breakpoints, potentially on different chromosomes, and don't fit the single-locus
(contig, start, ref, alt)model - Protein consequences often can't be predicted from DNA alone — a genomic translocation may or may not produce a fusion protein; this is only knowable from RNA evidence showing the chimeric transcript is actually expressed and translated
- One DNA event can produce multiple spliced isoforms — a translocation into a non-coding region might splice multiple ways, each producing a different protein. The reference sequences that matter may be intronic or intergenic, only becoming exonic in the novel rearrangement context
- Exacto solves this — it calls DNA and RNA variants from long-read data, integrates them, and translates full-length transcript structures into primary protein structures with complete provenance
Key design principles
These principles should guide all sub-issues:
-
DNA predicts possibilities, RNA resolves them. A single DNA variant (especially an SV) can produce multiple transcript isoforms via alternative splicing. Without RNA data, the honest output is a set of plausible outcomes, not a single deterministic prediction. RNA evidence constrains this set to what was actually observed.
-
This applies retroactively to existing splice handling. Varcode today returns a single
SpliceDonororExonicSpliceSiteeffect, but doesn't model what the resulting protein looks like. These effects should evolve toward a possibility-set model — and RNA evidence should be able to narrow that set. -
Reference sequence outside exonic regions matters. SVs (and some splice variants) create novel transcripts that incorporate previously intronic or intergenic sequence. Effect prediction cannot be limited to annotated exon sequences — it needs access to genomic sequence around breakpoints and splice junctions.
-
One-to-many is the natural relationship. A single DNA variant maps to a set of possible/observed isoforms, each producing a potentially different protein. The data model (variants, effects, collections) must support this natively, not treat it as an edge case.
Sub-issues
| Issue | Description |
|---|---|
| #262 | Prototype multi-effect candidates for splice-site variants — test the multi-effect model on existing splice-site handling before tackling SVs; fix sequence-aware splice prediction and the exonic splice detection bug |
| #257 | Structural variant types — new variant classes for translocations, inversions, duplications, breakpoints with two-locus representation and access to flanking genomic sequence |
| #258 | External annotation support — accept pre-computed annotations from external tools as sets of effects per variant, with source tracking |
| #259 | RNA-level evidence for effects — possibility-set model for splice outcomes; new effect types for fusions, circular RNAs, cryptic exons; DNA-predicts/RNA-resolves framework |
| #260 | Exacto TSV loader — parsers for Exacto's annotated DNA variants, RNA variant calls, transcript structures, integrated variants, and primary structures, preserving multi-isoform relationships |
Related
- #252 — Add variant and effect classes for gene fusions (predates this effort; fusion effects are one component of the broader RNA-evidence work in #259)
Foundational dependency
openvax/varcode#271 (MutantTranscript refactor) is the consolidation point for this roadmap and the haplotype-aware roadmap (#270). Landing it first makes #257, #259, and #260 substantially thinner — Exacto's primary structures become direct MutantTranscript imports, and RNA evidence attaches to MutantTranscript candidates cleanly.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reading the foundational MutantTranscript refactor in openvax/varcode#271, then review sub-issues #257–#260 and the Exacto integration scope in this issue. Done means varcode can represent structural-variant sequences and protein consequences, accept external annotations, incorporate RNA evidence, and preserve multi-isoform relationships.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- bioinformatics
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100