smehringer / sviper Goto Github PK
View Code? Open in Web Editor NEWSwipe your Structural Variants called on long (ONT/PacBio) reads with short exact (Illumina) reads.
License: BSD 3-Clause "New" or "Revised" License
Swipe your Structural Variants called on long (ONT/PacBio) reads with short exact (Illumina) reads.
License: BSD 3-Clause "New" or "Revised" License
Hi!
Is there any chance you'll support duplications and inversions in SViper any time soon? Both are fairly common in a clinical cohort I'm looking at. In theory they should be fairly simple, as it's really just a case of refining a breakpoint.
Alternately, would it be possible to add functionality to manually specify the variant reads? Sniffles provides a list of breakpoint reads in its output, which I could pass down to SViper for polishing.
Thanks!
Hi Svenja,
bcftools is complaining about missing VCF header lines in SViper's VCF output:
[W::vcf_parse] INFO 'SEQ' is not defined in the header, assuming Type=String
[W::vcf_parse] FILTER 'FAIL5' is not defined in the header
[W::vcf_parse] FILTER 'FAIL3' is not defined in the header
[W::vcf_parse] FILTER 'FAIL2' is not defined in the header
[W::vcf_parse] FILTER 'FAIL4' is not defined in the header
[E::bcf_write] Unchecked error (2), exiting
Could you maybe add these?
Cheers
David
Hi,
I am working with trios ONT data for which I have Illumina short read data as well. I am using SViper 2.0.0 for polishing my SV breakpoints. I have a few queries and I would be grateful if I could be helped with them.
When I was testing the software with one set of sample, I found that most of the FAILs were FAIL5 ("The variant was polished away."). What is the reason behind this fail?
What is meant by FAIL3 (The long read regions do not fit)? Can this please be elaborated?
I am aware that no tags should be present. SViper skips the variants. With bcftools, I am getting the error that SKIP is not defined. If you are still developing the tool, can that please be added? Although I have changed the SVTYPE to INS, SViper checks the variant type by tags rather than SVTYPE.
I observed that the the SViper score is put on the QUAL field. How is the score calculated and does it have any biological significance? Should I filter my SVs based on SViper score again? Is there a threshold based on which I should remove SVs? I actually filter my SVs using QUAL value of the variant caller (cuteSV). So, replacing this value with the score effects my pipeline.
Regards,
Prasun
Hi,
currently the thresholds for rejecting a polished variant because of its dissimilarity to the original variant (FAIL5) are hardcoded here: https://github.com/smehringer/SViper/blob/master/include/variant.h#L8
Would it be possible to add user parameters for DEV_SIZE and DEV_POS?
Thank you
David
I want to be able to run sviper without giving it a short read bam file, to get the consensus :)
Hi,
I am working on PacBio data and want to use sviper in my pipeline. I used the latest version and successfully corrected most of my SVs. However, I ran into segmentation fault for very few SVs. No additional error information was raised and sviper just stop without output vcf.
Please see the following link for a reproducible example and log file: https://www.dropbox.com/s/mhntmdae9px243g/sviper.zip?dl=0
The code I used is:
sviper -s short_read.bam -l long_read.bam -r hg38.fa -c test_input.vcf -o test_output -t 1
Thanks,
Han
Hi,
Thank you for your contribution with SViper, we are trying to apply it to polish structural variants called using ONT in humans.
I'm encountering an error trying to install SViper in a slurm/lustre cluster system. Note that my GCC version (6.3.0) is not the recommended, but I do not have access to another. Could that be the cause of the problem? I'd welcome any input to try to fix the issue.
Attached is the full error report:
[aserres@login1 build]$ cmake ../
-- The CXX compiler identification is GNU 6.3.0
-- Check for working CXX compiler: /apps/GCC/6.3.0/bin/c++
-- Check for working CXX compiler: /apps/GCC/6.3.0/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
source dir: /scratch/devel/aserres/bin/SViper
-- These dependencies were found:
OPENMP TRUE -fopenmp
ZLIB TRUE 1.2.3
SEQAN TRUE 2.4.0
-- The requirements were met.
-- Configuring done
-- Generating done
-- Build files have been written to: /scratch/devel/aserres/bin/SViper/build
[aserres@login1 build]$ make sviper
Scanning dependencies of target sviper
[ 50%] Building CXX object CMakeFiles/sviper.dir/src/sviper.cpp.o
In file included from /scratch/devel/aserres/bin/SViper/extern/seqan/include/seqan/basic.h:101:0,
from /scratch/devel/aserres/bin/SViper/extern/seqan/include/seqan/bam_io.h:46,
from /scratch/devel/aserres/bin/SViper/include/sviper/basics.h:9,
from /scratch/devel/aserres/bin/SViper/include/sviper/auxiliary.h:2,
from /scratch/devel/aserres/bin/SViper/include/sviper/io.h:7,
from /scratch/devel/aserres/bin/SViper/src/sviper.cpp:1:
/scratch/devel/aserres/bin/SViper/include/sviper/sviper.h: In function ‘bool sviper::polish_variant(sviper::Variant&, sviper::input_output_information&)’:
/scratch/devel/aserres/bin/SViper/extern/seqan/include/seqan/basic/basic_tangle.h:43:15: error: ‘viewRecords’ is not a member of ‘seqan’
#define seqan seqan
^
/scratch/devel/aserres/bin/SViper/include/sviper/sviper.h:221:9: note: in expansion of macro ‘seqan’
seqan::viewRecords(long_reads, long_read_bam, info.long_read_bai, rID_long, var_ref_pos_sub50, var_ref_pos_add50);
^
/scratch/devel/aserres/bin/SViper/extern/seqan/include/seqan/basic/basic_tangle.h:43:15: error: ‘viewRecords’ is not a member of ‘seqan’
#define seqan seqan
^
/scratch/devel/aserres/bin/SViper/include/sviper/sviper.h:223:9: note: in expansion of macro ‘seqan’
seqan::viewRecords(long_reads, long_read_bam, info.long_read_bai, rID_long, var_ref_pos_end_sub50, var_ref_pos_end_add50);
^
/scratch/devel/aserres/bin/SViper/extern/seqan/include/seqan/basic/basic_tangle.h:43:15: error: ‘viewRecords’ is not a member of ‘seqan’
#define seqan seqan
^
/scratch/devel/aserres/bin/SViper/include/sviper/sviper.h:379:17: note: in expansion of macro ‘seqan’
seqan::viewRecords(short_reads, short_read_bam, info.short_read_bai, rID_short, ref_region_start, e);
^
/scratch/devel/aserres/bin/SViper/extern/seqan/include/seqan/basic/basic_tangle.h:43:15: error: ‘viewRecords’ is not a member of ‘seqan’
#define seqan seqan
^
/scratch/devel/aserres/bin/SViper/include/sviper/sviper.h:385:17: note: in expansion of macro ‘seqan’
seqan::viewRecords(tmp_short_reads, short_read_bam, info.short_read_bai, rID_short, s, ref_region_end);
^
/scratch/devel/aserres/bin/SViper/extern/seqan/include/seqan/basic/basic_tangle.h:43:15: error: ‘viewRecords’ is not a member of ‘seqan’
#define seqan seqan
^
/scratch/devel/aserres/bin/SViper/include/sviper/sviper.h:392:17: note: in expansion of macro ‘seqan’
seqan::viewRecords(short_reads, short_read_bam, info.short_read_bai, rID_short, ref_region_start, ref_region_end);
^
/scratch/devel/aserres/bin/SViper/extern/seqan/include/seqan/basic/basic_tangle.h:43:15: error: ‘ConvexGaps’ is not a member of ‘seqan’
#define seqan seqan
^
/scratch/devel/aserres/bin/SViper/include/sviper/sviper.h:460:28: note: in expansion of macro ‘seqan’
seqan::ConvexGaps());
^
make[3]: *** [CMakeFiles/sviper.dir/src/sviper.cpp.o] Error 1
make[2]: *** [CMakeFiles/sviper.dir/all] Error 2
make[1]: *** [CMakeFiles/sviper.dir/rule] Error 2
make: *** [sviper] Error 2
Dear Mehringer,
Thank you for your great contribution. I noticed a minor issue in the readme file, the git link is incorrect in the installation instructions for cloning the repository. The command for cloning should be
~$ git clone [email protected]:smehringer/SViper.git
All the best,
Mr. Eggertsson
Dear Svenja,
Is SViper able to deal with the VCF format procuded by PBSV as follows:
chr1 25350 pbsv.DEL.1 CATGTCATCAGAGTGGGGCTGAAGCAGCCCG C . PASS SVTYPE=DEL;END=25380;SVLEN=-30 GT:AD:DP:SAC 0/1:34,11:45:18,16,8,3
chr1 26780 pbsv.DEL.2 TAGAGTCTTGAGCAAAATCTG T . PASS SVTYPE=DEL;END=26800;SVLEN=-20 GT:AD:DP:SAC 0/1:22,27:49:14,8,15,12
chr1 27914 pbsv.DEL.3 CGAACGGACGAACGATCGAAT C . PASS SVTYPE=DEL;END=27934;SVLEN=-20 GT:AD:DP:SAC 0/1:19,13:32:9,10,10,3
chr1 113278 pbsv.INS.44 G GTGATGATTAATGGGATGAGG . PASS SVTYPE=INS;END=113278;SVLEN=20 GT:AD:DP:SAC 0/1:4,14:18:1,3,7,7
chr1 128621 pbsv.INS.45 C CCGCCGTGCCGCCATTATCGCCG . PASS SVTYPE=INS;END=128621;SVLEN=22 GT:AD:DP:SAC 0/1:4,3:7:2,2,1,2
I noticed the requirement of SViper for vcf file that (tags instead of sequences, e.g. ). While is it required for all the SVs to have a tag as or ? Do you wish to add support for the vcf file from PBSV?
Best regards,
Junpeng
Hi,
I currently try to run SViper to polish the SVs generated by cuteSV (have changed the vcf format) in both CLR pacBio reads and CCS PacBio reads. I successfully got the results in SVs from CLR PacBio reads, but failed (See below) after running for several minutes and got several polished SVs using SVs from CCS PacBio reads.
~/SViper/extern/seqan/include/seqan/basic/basic_exception.h:363 FAILED! (Uncaught exception of type std::bad_alloc: std::bad_alloc)
stack trace:
0 [0x41891e] ~/bin/SViper/build/sviper()
1 [0x407782] ~/bin/SViper/build/sviper()
2 [0x7ff21669e006] /soft/compiler/gcc/gcc-9.2.0/lib64/libstdc++.so.6(+0xad006)
3 [0x7ff21669d109] /soft/compiler/gcc/gcc-9.2.0/lib64/libstdc++.so.6(+0xac109)
4 [0x7ff21669da34] __gxx_personality_v0 + 0x264
5 [0x7ff215e31463] /soft/compiler/gcc/gcc-9.2.0/lib64/libgcc_s.so.1(+0x10463)
6 [0x7ff215e31cc6] _Unwind_Resume + 0x126
7 [0x40895c] ~/bin/SViper/build/sviper()
8 [0x413e44] ~/bin/SViper/build/sviper()
9 [0x7ff21604b4a2] GOMP_parallel + 0x42
10 [0x4091da] ~/bin/SViper/build/sviper()
11 [0x7ff2158626a3] __libc_start_main + 0xf3
12 [0x40976e] ~/bin/SViper/build/sviper()
/var/spool/slurmd/job634082/slurm_script: line 39: 2250216 Aborted (core dumped) sviper -s ${bam_sdir}/${bam_short} -l ${bam_ldir}/${bam_long} -r ${ref_dir}/hs37d5.fa -c ${wk_dir}/${out_dir}/reformat.${out_dir}_cuteSV.vcf -o ${wk_dir}/${out_dir}/${out_dir}.polished_variants -t 1 -x ${depth[index]} --output-polished-bam
Do you have any ideas where's the issue?
Thanks,
Shuli
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.