Mercurial > repos > malbuquerque > delly
changeset 7:226f241f0c92 draft
Uploaded
author | malbuquerque |
---|---|
date | Tue, 20 Jan 2015 16:39:45 -0500 |
parents | 7058d37cf97e |
children | ebc19126362a |
files | Makefile delly.xml package/Makefile package/delly.xml package/tool_dependencies.xml tool_dependencies.xml |
diffstat | 6 files changed, 201 insertions(+), 201 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Makefile Tue Jan 20 16:39:45 2015 -0500 @@ -0,0 +1,58 @@ +DEBUG ?= 0 +PARALLEL ?= 0 + +# External Libraries +BOOST_ROOT ?= /g/solexa/bin/software/boost_1_53_0/ +BAMTOOLS_ROOT ?= /g/solexa/bin/software/bamtools-2.3.0/ +SEQTK_ROOT ?= /g/solexa/bin/software/kseq/ + +# Flags +CXX=g++ +CXXFLAGS += -isystem ${BOOST_ROOT}/include -isystem ${BAMTOOLS_ROOT}/include -isystem ${SEQTK_ROOT} -pedantic -W -Wall -Wno-unknown-pragmas +LDFLAGS += -L${BOOST_ROOT}/lib -lboost_iostreams -lboost_filesystem -lboost_system -lboost_program_options -lboost_date_time -L${BAMTOOLS_ROOT}/lib -lbamtools -lz -Wl,-rpath,${BAMTOOLS_ROOT}/lib,-rpath,${BOOST_ROOT}/lib + +# Additional flags for release/debug +ifeq (${PARALLEL}, 1) + CXXFLAGS += -fopenmp -DOPENMP +else + CXXFLAGS += -DNOPENMP +endif + +# Additional flags for release/debug +ifeq (${DEBUG}, 1) + CXXFLAGS += -g -O0 -fno-inline -DDEBUG +else ifeq (${DEBUG}, 2) + CXXFLAGS += -g -O0 -fno-inline -DPROFILE + LDFLAGS += -lprofiler -ltcmalloc +else + CXXFLAGS += -O9 -DNDEBUG + #LDFLAGS += --static +endif + +# External sources +HTSLIBSOURCES = $(wildcard src/htslib/*.c) $(wildcard src/htslib/*.h) +BAMTOOLSSOURCES = $(wildcard src/bamtools/src/api/*.h) $(wildcard src/bamtools/src/api/*.cpp) +DELLYSOURCES = $(wildcard src/*.h) $(wildcard src/*.cpp) + +# Targets +TARGETS = src/delly src/extract src/cov src/iover src/stats + +all: $(TARGETS) + +src/delly: $(DELLYSOURCES) + $(CXX) $(CXXFLAGS) $@.cpp -o $@ $(LDFLAGS) + +src/extract: $(DELLYSOURCES) + $(CXX) $(CXXFLAGS) $@.cpp -o $@ $(LDFLAGS) + +src/cov: $(DELLYSOURCES) + $(CXX) $(CXXFLAGS) $@.cpp -o $@ $(LDFLAGS) + +src/iover: $(DELLYSOURCES) + $(CXX) $(CXXFLAGS) $@.cpp -o $@ $(LDFLAGS) + +src/stats: $(DELLYSOURCES) + $(CXX) $(CXXFLAGS) $@.cpp -o $@ $(LDFLAGS) + +clean: + rm -f $(TARGETS) $(TARGETS:=.o)
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/delly.xml Tue Jan 20 16:39:45 2015 -0500 @@ -0,0 +1,106 @@ +<tool id="delly" name="DELLY" version="0.6.1"> + + <description>structural variant discovery by integrated paired-end and split-read analysis</description> + + <requirements> + <requirement type="package" version="0.6.1">delly</requirement> + <requirement type="set_environment">DELLY_DIR</requirement> + </requirements> + + + <command> + + <!-- BAM and BAI linking, (1) link BAM to new BAM file & (2) link BAM metadata to new BAI file --> + #for $i, $s in enumerate( $repeatBam ) + ln -s $s.sortedBam ./input$(i).bam; + ln -s $s.sortedBam.metadata.bam_index ./input$(i).bam.bai; + #end for + + <!-- Sets args to a list of types selected --> + #if not isinstance( $type.value, list ): + #set $args = [ $type.value ] + #else: + #set $args = $type.value + #end if + + <!-- Run Delly Jobs for each type selected --> + #for $option in $args + <!-- NEED TO FIX --> + <!-- Delly should be automatically installed into the galaxy instance and should not be running off + the computers specific tool set --> + \$DELLY_DIR/src/delly -t $option -o ./output.$(option).vcf -q $mapQual -s $madCutoff + #if $option == "DEL" + -m $minFlank + #end if + -u $genoQual -v $vcfgeno -g $genome + + <!-- add each input bam to command --> + #for $i, $s in enumerate( $repeatBam ) + ./input$(i).bam + #end for + ; + #end for + + <!-- Combine VCF Files and Sort Lexographically --> + #set $option = $args[0] + grep ^\# output.$(option).vcf > $outfile; + grep ^\# -v output.$(option).vcf > variants.txt; + + <!-- If we called more than a single variant type, concatenate all the other types variant output --> + #if isinstance( $type.value, list ): + #for $option in $args[1:] + grep ^\# -v output.$(option).vcf >> variants.txt; + #end for + #end if + + <!-- Sort all variant output, assuming that it will sort lexographically by chromosome, then position, ID --> + <!-- In future, maybe develop a script to sort by bam header --> + sort -k1,1d -k2,2n -k3,3d variants.txt > sortedVariants.txt; + + <!-- Filter Variants that have Passed Quality Checks --> + #if $filterCalls + awk '{if ($7 == "PASS") print $0;}' sortedVariants.txt >> $outfile; + #else + cat sortedVariants.txt >> $outfile; + #end if + + </command> + + <inputs> + + <!-- General Options --> + <param name="type" type="select" multiple="true" display="checkboxes" label="Variant Types"> + <option value="DEL" selected="true">Deletions</option> + <option value="DUP" selected="true">Tandem Duplications</option> + <option value="INV" selected="true">Inversions</option> + <option value="TRA" selected="true">Translocations</option> + </param> + <repeat name="repeatBam" title="Bam Alignment" min="1" default="1" > + <param format="bam" name="sortedBam" type="data" label="File" /> + </repeat> + <param name="excludeFile" type="data" optional="true" label="Chromosomes to Exclude"/> + <param name="filterCalls" type="boolean" value="false" label="Filter Poor Variant Calls"/> + + <!-- Paired End Options --> + <param name="mapQual" type="integer" value="0" min="0" max="255" label="PE - Minimum Mapping Quality" /> + <param name="madCutoff" type="integer" value="9" min="0" max="255" label="PE - Insert Size Cutoff" /> + + <!-- SR Options --> + <param format="fasta" name="genome" type="data" optional="true" label="SR - Genome Fasta File" /> + <param name="minFlank" type="integer" value="13" label="SR - Minimum Flanking Sequence" /> + + <!-- Genotyping Options --> + <param format="vcf" name="vcfgeno" type="data" optional="true" label="GT - Input VCF" /> + <param name="genoQual" type="integer" value="20" min="0" max="255" label="GT - Minimum Mapping Quality" /> + + </inputs> + + <outputs> + <data format="vcf" name="outfile" /> + </outputs> + + <help> + + </help> + +</tool>
--- a/package/Makefile Tue Jan 20 16:23:33 2015 -0500 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,58 +0,0 @@ -DEBUG ?= 0 -PARALLEL ?= 0 - -# External Libraries -BOOST_ROOT ?= /g/solexa/bin/software/boost_1_53_0/ -BAMTOOLS_ROOT ?= /g/solexa/bin/software/bamtools-2.3.0/ -SEQTK_ROOT ?= /g/solexa/bin/software/kseq/ - -# Flags -CXX=g++ -CXXFLAGS += -isystem ${BOOST_ROOT}/include -isystem ${BAMTOOLS_ROOT}/include -isystem ${SEQTK_ROOT} -pedantic -W -Wall -Wno-unknown-pragmas -LDFLAGS += -L${BOOST_ROOT}/lib -lboost_iostreams -lboost_filesystem -lboost_system -lboost_program_options -lboost_date_time -L${BAMTOOLS_ROOT}/lib -lbamtools -lz -Wl,-rpath,${BAMTOOLS_ROOT}/lib,-rpath,${BOOST_ROOT}/lib - -# Additional flags for release/debug -ifeq (${PARALLEL}, 1) - CXXFLAGS += -fopenmp -DOPENMP -else - CXXFLAGS += -DNOPENMP -endif - -# Additional flags for release/debug -ifeq (${DEBUG}, 1) - CXXFLAGS += -g -O0 -fno-inline -DDEBUG -else ifeq (${DEBUG}, 2) - CXXFLAGS += -g -O0 -fno-inline -DPROFILE - LDFLAGS += -lprofiler -ltcmalloc -else - CXXFLAGS += -O9 -DNDEBUG - #LDFLAGS += --static -endif - -# External sources -HTSLIBSOURCES = $(wildcard src/htslib/*.c) $(wildcard src/htslib/*.h) -BAMTOOLSSOURCES = $(wildcard src/bamtools/src/api/*.h) $(wildcard src/bamtools/src/api/*.cpp) -DELLYSOURCES = $(wildcard src/*.h) $(wildcard src/*.cpp) - -# Targets -TARGETS = src/delly src/extract src/cov src/iover src/stats - -all: $(TARGETS) - -src/delly: $(DELLYSOURCES) - $(CXX) $(CXXFLAGS) $@.cpp -o $@ $(LDFLAGS) - -src/extract: $(DELLYSOURCES) - $(CXX) $(CXXFLAGS) $@.cpp -o $@ $(LDFLAGS) - -src/cov: $(DELLYSOURCES) - $(CXX) $(CXXFLAGS) $@.cpp -o $@ $(LDFLAGS) - -src/iover: $(DELLYSOURCES) - $(CXX) $(CXXFLAGS) $@.cpp -o $@ $(LDFLAGS) - -src/stats: $(DELLYSOURCES) - $(CXX) $(CXXFLAGS) $@.cpp -o $@ $(LDFLAGS) - -clean: - rm -f $(TARGETS) $(TARGETS:=.o)
--- a/package/delly.xml Tue Jan 20 16:23:33 2015 -0500 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,106 +0,0 @@ -<tool id="delly" name="DELLY" version="0.6.1"> - - <description>structural variant discovery by integrated paired-end and split-read analysis</description> - - <requirements> - <requirement type="package" version="0.6.1">delly</requirement> - <requirement type="set_environment">DELLY_DIR</requirement> - </requirements> - - - <command> - - <!-- BAM and BAI linking, (1) link BAM to new BAM file & (2) link BAM metadata to new BAI file --> - #for $i, $s in enumerate( $repeatBam ) - ln -s $s.sortedBam ./input$(i).bam; - ln -s $s.sortedBam.metadata.bam_index ./input$(i).bam.bai; - #end for - - <!-- Sets args to a list of types selected --> - #if not isinstance( $type.value, list ): - #set $args = [ $type.value ] - #else: - #set $args = $type.value - #end if - - <!-- Run Delly Jobs for each type selected --> - #for $option in $args - <!-- NEED TO FIX --> - <!-- Delly should be automatically installed into the galaxy instance and should not be running off - the computers specific tool set --> - \$DELLY_DIR/src/delly -t $option -o ./output.$(option).vcf -q $mapQual -s $madCutoff - #if $option == "DEL" - -m $minFlank - #end if - -u $genoQual -v $vcfgeno -g $genome - - <!-- add each input bam to command --> - #for $i, $s in enumerate( $repeatBam ) - ./input$(i).bam - #end for - ; - #end for - - <!-- Combine VCF Files and Sort Lexographically --> - #set $option = $args[0] - grep ^\# output.$(option).vcf > $outfile; - grep ^\# -v output.$(option).vcf > variants.txt; - - <!-- If we called more than a single variant type, concatenate all the other types variant output --> - #if isinstance( $type.value, list ): - #for $option in $args[1:] - grep ^\# -v output.$(option).vcf >> variants.txt; - #end for - #end if - - <!-- Sort all variant output, assuming that it will sort lexographically by chromosome, then position, ID --> - <!-- In future, maybe develop a script to sort by bam header --> - sort -k1,1d -k2,2n -k3,3d variants.txt > sortedVariants.txt; - - <!-- Filter Variants that have Passed Quality Checks --> - #if $filterCalls - awk '{if ($7 == "PASS") print $0;}' sortedVariants.txt >> $outfile; - #else - cat sortedVariants.txt >> $outfile; - #end if - - </command> - - <inputs> - - <!-- General Options --> - <param name="type" type="select" multiple="true" display="checkboxes" label="Variant Types"> - <option value="DEL" selected="true">Deletions</option> - <option value="DUP" selected="true">Tandem Duplications</option> - <option value="INV" selected="true">Inversions</option> - <option value="TRA" selected="true">Translocations</option> - </param> - <repeat name="repeatBam" title="Bam Alignment" min="1" default="1" > - <param format="bam" name="sortedBam" type="data" label="File" /> - </repeat> - <param name="excludeFile" type="data" optional="true" label="Chromosomes to Exclude"/> - <param name="filterCalls" type="boolean" value="false" label="Filter Poor Variant Calls"/> - - <!-- Paired End Options --> - <param name="mapQual" type="integer" value="0" min="0" max="255" label="PE - Minimum Mapping Quality" /> - <param name="madCutoff" type="integer" value="9" min="0" max="255" label="PE - Insert Size Cutoff" /> - - <!-- SR Options --> - <param format="fasta" name="genome" type="data" optional="true" label="SR - Genome Fasta File" /> - <param name="minFlank" type="integer" value="13" label="SR - Minimum Flanking Sequence" /> - - <!-- Genotyping Options --> - <param format="vcf" name="vcfgeno" type="data" optional="true" label="GT - Input VCF" /> - <param name="genoQual" type="integer" value="20" min="0" max="255" label="GT - Minimum Mapping Quality" /> - - </inputs> - - <outputs> - <data format="vcf" name="outfile" /> - </outputs> - - <help> - - </help> - -</tool>
--- a/package/tool_dependencies.xml Tue Jan 20 16:23:33 2015 -0500 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,37 +0,0 @@ -<?xml version="1.0"?> -<tool_dependency> - - <package name="boost" version="1.53.0"> - <repository changeset_revision="cee17eb9de41" name="package_boost_1_53" owner="iuc" toolshed="https://toolshed.g2.bx.psu.edu" /> - </package> - - <package name="bamtools" version="2.3.0"> - <repository changeset_revision="ad46b5210186" name="package_bamtools_2_3_0" owner="malbuquerque" toolshed="https://toolshed.g2.bx.psu.edu" /> - </package> - - <package name="seqtk" version="1.0.0"> - <repository changeset_revision="35f0f4568ded" name="package_seqtk_1_0_0" owner="malbuquerque" toolshed="https://toolshed.g2.bx.psu.edu" /> - </package> - - <package name="delly" version="0.6.1"> - <install version="1.0"> - <actions> - <action type="download_by_url">https://github.com/tobiasrausch/delly/archive/v0.6.1.tar.gz</action> - <action type="shell_command">ls $REPOSITORY_INSTALL_DIR</action> - <action type="move_directory_files"> - <source_directory>$REPOSITORY_INSTALL_DIR/Makefile</source_directory> - <destination_directory>./Makefile</destination_directory> - </action> - <action type="shell_command">make all BOOST_ROOT=\$BOOST_ROOT BAMTOOLS_ROOT=\$BAMTOOLS_ROOT SEQTK_ROOT=\$SEQTK_ROOT</action> - <action type="move_directory_files"> - <source_directory>.</source_directory> - <destination_directory>$INSTALL_DIR</destination_directory> - </action> - <action type="set_environment"> - <environment_variable action="set_to" name="DELLY_DIR">$INSTALL_DIR</environment_variable> - </action> - </actions> - </install> - </package> - - </tool_dependency>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tool_dependencies.xml Tue Jan 20 16:39:45 2015 -0500 @@ -0,0 +1,37 @@ +<?xml version="1.0"?> +<tool_dependency> + + <package name="boost" version="1.53.0"> + <repository changeset_revision="cee17eb9de41" name="package_boost_1_53" owner="iuc" toolshed="https://toolshed.g2.bx.psu.edu" /> + </package> + + <package name="bamtools" version="2.3.0"> + <repository changeset_revision="ad46b5210186" name="package_bamtools_2_3_0" owner="malbuquerque" toolshed="https://toolshed.g2.bx.psu.edu" /> + </package> + + <package name="seqtk" version="1.0.0"> + <repository changeset_revision="35f0f4568ded" name="package_seqtk_1_0_0" owner="malbuquerque" toolshed="https://toolshed.g2.bx.psu.edu" /> + </package> + + <package name="delly" version="0.6.1"> + <install version="1.0"> + <actions> + <action type="download_by_url">https://github.com/tobiasrausch/delly/archive/v0.6.1.tar.gz</action> + <action type="shell_command">ls $REPOSITORY_INSTALL_DIR</action> + <action type="move_directory_files"> + <source_directory>$REPOSITORY_INSTALL_DIR/Makefile</source_directory> + <destination_directory>./Makefile</destination_directory> + </action> + <action type="shell_command">make all BOOST_ROOT=\$BOOST_ROOT BAMTOOLS_ROOT=\$BAMTOOLS_ROOT SEQTK_ROOT=\$SEQTK_ROOT</action> + <action type="move_directory_files"> + <source_directory>.</source_directory> + <destination_directory>$INSTALL_DIR</destination_directory> + </action> + <action type="set_environment"> + <environment_variable action="set_to" name="DELLY_DIR">$INSTALL_DIR</environment_variable> + </action> + </actions> + </install> + </package> + + </tool_dependency>