openvax / openvax/varcode

Load structural variant sequences from Exacto

Open
#261 2 comments 0 reactions 0 assignees View on GitHub

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:

  1. 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.

  2. This applies retroactively to existing splice handling. Varcode today returns a single SpliceDonor or ExonicSpliceSite effect, 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.

  3. 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.

  4. 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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.