How fulcrumgenomics/fgsv works
fgsv is a command-line toolkit for detecting and exploring structural-variant breakpoint evidence, not a complete variant-calling pipeline. Its principal workflow scans queryname-grouped alignments into breakpoint pileups, aggregates nearby evidence, then can convert aggregate results to BEDPE. Filtering/merging is a separate pileup-processing option. The model layer represents aligned segments, breakpoints, evidence, and pileups. README capabilities inform the tool relationships; several tool implementations were not sampled, so their internal calls are not inferred.
Main entry points: SvPileup.scala SvPileup · AggregateSvPileup.scala AggregateSvPileup · SvMain.scala fgsv dispatcher · SvTool.scala Tool framework
Components 20
Command entry
- fgsv dispatcher
src/main/scala/com/fulcrumgenomics/sv/cmdline/SvMain.scala - Tool framework
src/main/scala/com/fulcrumgenomics/sv/cmdline/SvTool.scala
Breakpoint detection
- SvPileup
src/main/scala/com/fulcrumgenomics/sv/tools/SvPileup.scala
Pileup processing
- AggregateSvPileup
src/main/scala/com/fulcrumgenomics/sv/tools/AggregateSvPileup.scala - AggregateSvPileupToBedPE
src/main/scala/com/fulcrumgenomics/sv/tools/AggregateSvPileupToBedPE.scala - FilterAndMerge
src/main/scala/com/fulcrumgenomics/sv/tools/FilterAndMerge.scala
Domain models
- Aligned segments
src/main/scala/com/fulcrumgenomics/sv/AlignedSegment.scala - Breakpoint evidence
src/main/scala/com/fulcrumgenomics/sv/BreakpointEvidence.scala - Breakpoint model
src/main/scala/com/fulcrumgenomics/sv/Breakpoint.scala - Breakpoint pileup
src/main/scala/com/fulcrumgenomics/sv/BreakpointPileup.scala
Other components
- CLI user
- Queryname BAM
- Pileup table
- Tagged BAM
- Aggregated pileups
- Aggregate-tagged BAM
- Target BED
- BEDPE output
- Filtered merged pileups
- Genome browser
Connections 28
- CLI user → fgsv dispatcher: runs command
- fgsv dispatcher → Tool framework: dispatches tools
- fgsv dispatcher → SvPileup: dispatches
- fgsv dispatcher → AggregateSvPileup: dispatches
- fgsv dispatcher → AggregateSvPileupToBedPE: dispatches
- fgsv dispatcher → FilterAndMerge: dispatches
- SvPileup → Tool framework: uses framework
- AggregateSvPileup → Tool framework: uses framework
- AggregateSvPileupToBedPE → Tool framework: uses framework
- FilterAndMerge → Tool framework: uses framework
- SvPileup → Queryname BAM: scans templates
- SvPileup → Aligned segments: builds segments
- SvPileup → Breakpoint evidence: detects evidence
- Breakpoint evidence → Breakpoint model: forms breakpoint
- SvPileup → Breakpoint pileup: collects pileups
- SvPileup → Pileup table: writes candidates
- SvPileup → Tagged BAM: writes tags
- AggregateSvPileup → Pileup table: reads pileups
- AggregateSvPileup → Queryname BAM: queries support
- AggregateSvPileup → Target BED: checks overlap
- AggregateSvPileup → Aggregated pileups: writes aggregates
- AggregateSvPileup → Aggregate-tagged BAM: writes tags
- AggregateSvPileup → Aggregated pileups: produces input
- Aggregated pileups → AggregateSvPileupToBedPE: provides pileups
- AggregateSvPileupToBedPE → BEDPE output: converts to BEDPE
- BEDPE output → Genome browser: viewed in
- FilterAndMerge → Pileup table: reads pileups
- FilterAndMerge → Filtered merged pileups: writes merged sites