A tool for calling SVs from genome-wide contig alignments.
- Aligns a genome (query) to a reference genome (target) using LastZ.
- Chains the query genome against the target genome using UCSC
- Nets the chains. This resolves overlapping alignments and inversions.
- netToMaf mafToSam samToBam
- Sorts the bam by query
- Annotates the bam file and chains the query.
- Calls Structural Variants.
The dependancies are only required if you'd like to run the whole pipeline. Otherwise, you can build you own netted SAM file and run the last step.
- LASTZ. For aligning contigs to a reference genome (lastz-distrib-1.03.73).
- LAST. Conversion from MAF to SAM (last/744).
- UCSC. File conversion, chaining and netting.
- SNAKEMAKE. Running the pipeline.
- CMAKE. Building Bamtools.
- BEDTOOLS. Basic range operations (2.21.0)
- Install dependancies
- get and build code :
git clone --recursive https://github.com/zeeev/DASVC.git
cd DASVC
make
- Export paths to binaries
- Modify the config file: "pipeline/config.json"
- Run Snakemake :
locally with 5 jobs :
snakemake -s Snakefile -j 25 -w 50
cluster with 25 jobs :
snakemake -c "qsub {params.sge_opts}" -s Snakefile -j 25 -w 50
- "QS" Query start
- "QE" Query end
- "QL" Query length
- "TS" Target start
- "TE" Target end
- "MB" Number matching bases in block (=|M)
- "PI" Percent identity
- "BI" Block ID (equivalent to query name)
- "TM" Total matching bases in query sequence
- "AI" Query order 1,2,3....
#Structural variant (SV) format
The SV calls are in bed format:
- Target seqid
- Target start
- target end
- SV type (internal is contained within an alignment block)
- SV length (insertions are in query length)
- Percent identity in alignment block or for flanking alignment blocks
- Number of bases matching in alignment block or for flanking alignment blocks
- Query seqid
- Query start
- Query end
- Sequence (for deletions it's the target sequence and insertions are the query sequence)