Dockerfile containing basic R and Python requirements for the lifebit-ai/sv-nf pipeline
10K+
Nextflow workflow for structural variants with graph data using vg.
this workflow allows the build of a variation graph from a reference FASTA file and variants in a VCF file, map reads to the graph and genotype those variants. Implements the vg toolkit.
This workflow requires at least 4 cpus and 8GB of memory.
The typical command for running the pipeline is as follows: nextflow run main.nf [Options]
Inputs Options:
Construct Graph from reference:
--reference Path expression to input FASTA reference.
Input type: path (default: $params.reference)
--vcf Path expression to input VCF. Optional input.
Input type: string (default: $params.vcf)
--vcf_index Path expression to input VCF index. Required if --vcf.
Input type: string (default: $params.vcf_index)
--max_nodes Limit the maximum allowable node sequence size.
Nodes greater than this threshold will be divided.
Input type: string or int (default: $params.max_nodes)
--graphviz Graphviz mode. Options: 'dot', 'neato', 'fdp', 'sfdp',
'twopi' or 'circo'.
Input type: string (default: $params.graphviz)
Use prebuilt Graph:
--graph Path expression to input vg graph reference.
Input type: path (default $params.graph)
Map sequences to Graph:
--mapper Mapping mode. Options: 'map', 'giraffe'.
Input type: string (default: $params.mapper)
Compatible with vg map and vg giraffe:
--gam Path to realign GAM input.
Input type: path (default: $params.gam)
--fastq Path to fastq file, possibly compressed. Two files are
allowed, one for each mate.
Compatible only with vg map:
--sequence Align a string to the graph in graph.vg using
partial order alignment.
Input type: string (default: $params.sequence)
--fasta Path to FASTA file that may have multiple lines per
reference sequence.
Input type: path (default: $params.fasta)
--hts Path to reads from htslib-compatible FILE (BAM/CRAM/SAM).
Input type: path (default: $params.hts)
--kmer kmer size to index in the graph.
Input type: int (default: $params.kmer)
--augment Add variation from aligned reads into the graph.
Options: true, false. Input type: boolean
(default: $params.augment)
nextflow run main.nf
nextflow run main.nf -profile test,<docker...>
A variation graph can be constructed (--reference, --vcf and --vcf_index) or a prebuilt graph can be provided (--graph).
Two options are available to map sequences to the graph: map and giraffe. Map uses vg's default mapping algorythm.
Giraffe is a faster mapping algorythm with accuracy similar to vg map.
The graph provided can be augmented --augment=true so that variation from alignments can be embedded back into the graph.
In comparison with the entire vg toolkit, this is what it's implemented in the workflow:
[x] Construct a graph (vg construct)
[ ] Construct a graph from an assembly of multiple sequences (vg msga)
[ ] join graphs (vg join)
[x] Augment a graph with new variants (vg augment)
[ ] Align a sequence to a graph (vg align) - local alignment
[x] Align large sequence/lots of sequences to a graph (vg index + vg map) - global alignment
[x] Align large sequence/lots of sequences to a graph (vg index + vg giraffe) - global alignment
[x] call variants (vg pack + vg call)
[ ] Call variants considering novel variants from the reads (a bit messy, need to test)
[x] genotype known variants from a vcg (vg construct + vg index + vg pack + vg call) (vg genotype) (not sure about the difference, need test)
[ ] generate a vcf from a graph (or part of a graph if too big - might be useful for large ref graphs) (vg deconstruct)
[ ] simulate reads from graph (vg sim)
[ ] generate kmers from graph (vg kmers)
[ ] validate if graph is valid (vg validate)
Content type
Image
Digest
Size
524.5 MB
Last updated
over 5 years ago
docker pull imendes93/svnf