changeset 1:9a39c4105901 draft default tip

planemo upload for repository https://github.com/ErasmusMC-Bioinformatics/galaxytools-emc/tree/master/tools/galaxy-tool-shed-tools commit bd543e68c1af82bcd6a04f0ae3d1180e8887e122
author erasmus-medical-center
date Wed, 15 Feb 2017 16:16:01 -0500
parents 0c5cc5763091
children
files test-data/example.fa.fai test-data/example.vcf test-data/generate_reads.py test-data/generate_reads.py.bak test-data/hg19_mutant.2.vcf tool_dependencies.xml varscan_mpileup2snp.xml varscan_mpileup2snp_from_bam.xml
diffstat 8 files changed, 308 insertions(+), 407 deletions(-) [+]
line wrap: on
line diff
--- a/test-data/example.fa.fai	Thu Nov 05 09:59:46 2015 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-chr1	600	6	60	61
--- a/test-data/example.vcf	Thu Nov 05 09:59:46 2015 -0500
+++ b/test-data/example.vcf	Wed Feb 15 16:16:01 2017 -0500
@@ -22,10 +22,10 @@
 ##FORMAT=<ID=ADF,Number=1,Type=Integer,Description="Depth of variant-supporting bases on forward strand (reads2plus)">
 ##FORMAT=<ID=ADR,Number=1,Type=Integer,Description="Depth of variant-supporting bases on reverse strand (reads2minus)">
 #CHROM	POS	ID	REF	ALT	QUAL	FILTER	INFO	FORMAT	Sample1
-chr1	24	.	C	G	.	PASS	ADP=41;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:236:41:41:0:41:100%:2.3541E-24:0:84:0:0:22:19
-chr1	84	.	G	A	.	PASS	ADP=59;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:255:59:59:0:59:100%:4.1056E-35:0:83:0:0:33:26
-chr1	146	.	T	C	.	PASS	ADP=81;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:255:81:81:0:81:100%:2.7329E-48:0:86:0:0:49:32
-chr1	206	.	A	G	.	PASS	ADP=79;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:255:79:79:0:79:100%:4.3185E-47:0:86:0:0:48:31
-chr1	495	.	T	G	.	PASS	ADP=65;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:255:65:65:0:65:100%:1.0519E-38:0:89:0:0:31:34
-chr1	496	.	A	C	.	PASS	ADP=64;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:255:64:64:0:64:100%:4.1752E-38:0:89:0:0:31:33
-chr1	497	.	G	C	.	PASS	ADP=63;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:255:63:63:0:63:100%:1.657E-37:0:89:0:0:30:33
\ No newline at end of file
+chr1	24	.	C	G	.	PASS	ADP=50;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:255:50:50:0:50:100%:9.9117E-30:0:93:0:0:27:23
+chr1	84	.	G	A	.	PASS	ADP=70;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:255:70:70:0:70:100%:1.0659E-41:0:93:0:0:38:32
+chr1	146	.	T	C	.	PASS	ADP=85;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:255:85:85:0:85:100%:1.0935E-50:0:93:0:0:52:33
+chr1	206	.	A	G	.	PASS	ADP=91;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:255:91:91:0:91:100%:2.7621E-54:0:93:0:0:51:40
+chr1	495	.	T	G	.	PASS	ADP=75;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:255:75:75:0:75:100%:1.0773E-44:0:93:0:0:37:38
+chr1	496	.	A	C	.	PASS	ADP=76;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:255:76:76:0:76:100%:2.711E-45:0:93:0:0:38:38
+chr1	497	.	G	C	.	PASS	ADP=77;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:255:77:77:0:77:100%:6.8219E-46:0:93:0:0:38:39
--- a/test-data/generate_reads.py	Thu Nov 05 09:59:46 2015 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,129 +0,0 @@
-#!/usr/bin/env python
-
-
-import random
-import math
-
-
-__version_info__ = ('1', '0', '0')
-__version__ = '.'.join(__version_info__)
-
-
-class Region:
-	def __init__(self,start,stop,sequence):
-		self.start = start
-		self.stop = stop
-		self.sequence = sequence.strip().replace("\n","").replace(" ","")
-		if(len(self.sequence) != self.getSpanningLength()):
-			print "ERROR: sequence length: "+str(len(self.sequence))+", while spanning region is: "+str(self.getSpanningLength())
-			import sys
-			sys.exit()
-	
-	def getSpanningLength(self):
-		return abs(self.stop-self.start+1)
-
-class ReadSynthesizer:
-	def __init__(self,chromosome):
-		self.regions = []
-		self.chromosome = chromosome
-	
-	def addRegion(self,region):
-		self.regions.append(region)
-	
-	def produceReads(self,readDensity = 1,read_length = 50):
-		"""
-		Produces uniform reads by walking iteratively over self.regions
-		"""
-		
-		mRNA = self.getTotalmRNA()
-		spanning_length = self.getRegionSpanningLength()
-		n = spanning_length['total'] - read_length + 1
-		
-		j = 0
-		k = 0
-		
-		for i in range(n):
-			#  "alpha is playing the role of k and beta is playing the role of theta"
-			dd = max(0,int(round(random.lognormvariate(math.log(readDensity),0.5))))# Notice this is NOT a binomial distribution!!
-			
-			for d in range(dd):
-				sequence = mRNA[i:i+read_length]
-				
-				if(random.randint(0,1) == 0):
-					strand = 0
-				else:
-					strand = 16
-				flag = strand + 0
-				
-				print "read_"+str(j)+"."+str(i)+"."+str(d)+"\t"+str(flag)+"\t"+self.chromosome+"\t"+str(self.regions[j].start + k)+"\t60\t"+self.getMappingString(read_length,j,k)+"\t*\t0\t0\t"+str(sequence.upper())+"\t*"
-			
-			spanning_length['iter'][j] -= 1
-			if(k >= self.regions[j].getSpanningLength()-1):
-				j += 1
-				k = 0
-			else:
-				k += 1
-	
-	def getMappingString(self,length,j,offset):
-		m = 0
-		
-		out = ""
-		
-		for i in range(length):
-			k = i + offset
-			
-			if(k >= self.regions[j].getSpanningLength()):
-				j += 1
-				
-				out += str(m)+"M"
-				out += (str(self.regions[j].start - self.regions[j-1].stop-1))+"N"
-				m = 1
-				
-				offset = -k
-			else:
-				m += 1
-		
-		out += str(m) + "M"
-		
-		
-		return out
-	
-	def getRegionSpanningLength(self):
-		length = {'total':0,'iter':[]}
-		for r in self.regions:
-			l = r.getSpanningLength()
-			length['iter'].append(l)
-			length['total'] += l
-		return length
-	
-	def getTotalmRNA(self):
-		mRNA = ""
-		for r in self.regions:
-			mRNA += r.sequence
-		return mRNA
-
-
-
-if __name__ == "__main__":
-	# Real world example snp
-	
-	#rs = ReadSynthesizer('chr6')
-	#rs.addRegion(Region(154360546,154360969,'ccaggactggtttctgtaagaaacagcaggagctgtggcagcggcgaaaggaagcggctgaggcgcttggaacccgaaaagtctcggtgctcctggctacctcgcacagcggtgcccgcccggccgtcagtaccatggacagcagcgctgcccccacgaacgccagcaattgcactgatgccttggcgtactcaagttgctccccagcacccagccccggttcctgggtcaacttgtcccacttagatggcGacctgtccgacccatgcggtccgaaccgcaccgacctgggcgggagagacagcctgtgccctccgaccggcagtccctccatgatcacggccatcacgatcatggccctctactccatcgtgtgcgtggtggggctcttcggaaacttcctggtcatgtatgtgattgtcag'))
-	#rs.addRegion(Region(154410961,154411313,'atacaccaagatgaagactgccaccaacatctacattttcaaccttgctctggcagatgccttagccaccagtaccctgcccttccagagtgtgaattacctaatgggaacatggccatttggaaccatcctttgcaagatagtgatctccatagattactataacatgttcaccagcatattcaccctctgcaccatgagtgttgatcgatacattgcagtctgccaccctgtcaaggccttagatttccgtactccccgaaatgccaaaattatcaatgtctgcaactggatcctctcttcagccattggtcttcctgtaatgttcatggctacaacaaaatacaggcaag'))
-	#rs.addRegion(Region(154412087,154412607,'gttccatagattgtacactaacattctctcatccaacctggtactgggaaaacctgctgaagatctgtgttttcatcttcgccttcattatgccagtgctcatcattaccgtgtgctatggactgatgatcttgcgcctcaagagtgtccgcatgctctctggctccaaagaaaaggacaggaatcttcgaaggatcaccaggatggtgctggtggtggtggctgtgttcatcgtctgctggactcccattcacatttacgtcatcattaaagccttggttacaatcccagaaactacgttccagactgtttcttggcacttctgcattgctctaggttacacaaacagctgcctcaacccagtcctttatgcatttctggatgaaaacttcaaacgatgcttcagagagttctgtatcccaacctcttccaacattgagcaacaaaactccactcgaattcgtcagaacactagagaccacccctccacggccaatacagtggatagaactaatcatcag'))
-	#rs.addRegion(Region(154428600,154428787,'gtggaattgaacctggactgtcactgtgaaaatgcaaagccttggccactgagctacaatgcagggcagtctccatttcccttcccaggaagagtctagagcattaattttgagtttgcaaaggcttgtaactatttcatatgatttttagagctgactatgacatgaaccctaaaattcctgttccc'))
-	#rs.produceReads(3,50)
-	
-	# Artificial SNP
-	rs = ReadSynthesizer('chr1')
-	rs.addRegion(Region(  0+1, 59+1,'aaataggtcccaaacgttacgca'+'G'+'tctatgcctgacaaagttgcgaccacttcctctgcc'))#c -> G
-	rs.addRegion(Region( 60+1,119+1,'ttgtgtgacacgccggagatagg'+'A'+'catcagcaagtacgttaagtacactgaacgaactgg'))#g -> A
-	rs.addRegion(Region(120+1,179+1,'aggtttctacatcgtgcgtgatggc'+'C'+'ctaggagaagtgggtgtatctgcacagcataagt'))#t -> C
-	rs.addRegion(Region(180+1,239+1,'tataagacggaagtaaagcgtcttc'+'G'+'ccgttcagcaccccacgctcatagtcaatgctgg'))#a -> G
-	#rs.addRegion(Region(240+1,299+1,'ttcagcatagtcaagcgccggtggcctccaaaaagacgcactgagtagcttagctacttt'))
-	#rs.addRegion(Region(300+1,359+1,'gctccgcttgcggaagcactaagaggagattgaatttccaaatcccccccgatacctgtg'))
-	#rs.addRegion(Region(360+1,419+1,'cggtcgctacgtaagtgcgaagttctgttagatacgctccccttagtatatgggcgttaa'))
-	#rs.addRegion(Region(420+1,479+1,'tcggaccgtcggtactcactgcattccaggtctcatatagttcgccctagaagcctggga'))
-	rs.addRegion(Region(480+1,539+1,'tgaacgttgaacta'+'GCC'+'ctgatgtaaaccccgcgtgccaattccaggcgtcatgggggca'))#tag -> gcc
-	#rs.addRegion(Region(540+1,599+1,'acccctcgcagcctccctcttgctgttggtgcctagtatttcatgatttcgagccgacat'))
-	rs.produceReads(2,35)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/generate_reads.py.bak	Wed Feb 15 16:16:01 2017 -0500
@@ -0,0 +1,129 @@
+#!/usr/bin/env python
+
+
+import random
+import math
+
+
+__version_info__ = ('1', '0', '0')
+__version__ = '.'.join(__version_info__)
+
+
+class Region:
+	def __init__(self,start,stop,sequence):
+		self.start = start
+		self.stop = stop
+		self.sequence = sequence.strip().replace("\n","").replace(" ","")
+		if(len(self.sequence) != self.getSpanningLength()):
+			print "ERROR: sequence length: "+str(len(self.sequence))+", while spanning region is: "+str(self.getSpanningLength())
+			import sys
+			sys.exit()
+	
+	def getSpanningLength(self):
+		return abs(self.stop-self.start+1)
+
+class ReadSynthesizer:
+	def __init__(self,chromosome):
+		self.regions = []
+		self.chromosome = chromosome
+	
+	def addRegion(self,region):
+		self.regions.append(region)
+	
+	def produceReads(self,readDensity = 1,read_length = 50):
+		"""
+		Produces uniform reads by walking iteratively over self.regions
+		"""
+		
+		mRNA = self.getTotalmRNA()
+		spanning_length = self.getRegionSpanningLength()
+		n = spanning_length['total'] - read_length + 1
+		
+		j = 0
+		k = 0
+		
+		for i in range(n):
+			#  "alpha is playing the role of k and beta is playing the role of theta"
+			dd = max(0,int(round(random.lognormvariate(math.log(readDensity),0.5))))# Notice this is NOT a binomial distribution!!
+			
+			for d in range(dd):
+				sequence = mRNA[i:i+read_length]
+				
+				if(random.randint(0,1) == 0):
+					strand = 0
+				else:
+					strand = 16
+				flag = strand + 0
+				
+				print "read_"+str(j)+"."+str(i)+"."+str(d)+"\t"+str(flag)+"\t"+self.chromosome+"\t"+str(self.regions[j].start + k)+"\t60\t"+self.getMappingString(read_length,j,k)+"\t*\t0\t0\t"+str(sequence.upper())+"\t*"
+			
+			spanning_length['iter'][j] -= 1
+			if(k >= self.regions[j].getSpanningLength()-1):
+				j += 1
+				k = 0
+			else:
+				k += 1
+	
+	def getMappingString(self,length,j,offset):
+		m = 0
+		
+		out = ""
+		
+		for i in range(length):
+			k = i + offset
+			
+			if(k >= self.regions[j].getSpanningLength()):
+				j += 1
+				
+				out += str(m)+"M"
+				out += (str(self.regions[j].start - self.regions[j-1].stop-1))+"N"
+				m = 1
+				
+				offset = -k
+			else:
+				m += 1
+		
+		out += str(m) + "M"
+		
+		
+		return out
+	
+	def getRegionSpanningLength(self):
+		length = {'total':0,'iter':[]}
+		for r in self.regions:
+			l = r.getSpanningLength()
+			length['iter'].append(l)
+			length['total'] += l
+		return length
+	
+	def getTotalmRNA(self):
+		mRNA = ""
+		for r in self.regions:
+			mRNA += r.sequence
+		return mRNA
+
+
+
+if __name__ == "__main__":
+	# Real world example snp
+	
+	#rs = ReadSynthesizer('chr6')
+	#rs.addRegion(Region(154360546,154360969,'ccaggactggtttctgtaagaaacagcaggagctgtggcagcggcgaaaggaagcggctgaggcgcttggaacccgaaaagtctcggtgctcctggctacctcgcacagcggtgcccgcccggccgtcagtaccatggacagcagcgctgcccccacgaacgccagcaattgcactgatgccttggcgtactcaagttgctccccagcacccagccccggttcctgggtcaacttgtcccacttagatggcGacctgtccgacccatgcggtccgaaccgcaccgacctgggcgggagagacagcctgtgccctccgaccggcagtccctccatgatcacggccatcacgatcatggccctctactccatcgtgtgcgtggtggggctcttcggaaacttcctggtcatgtatgtgattgtcag'))
+	#rs.addRegion(Region(154410961,154411313,'atacaccaagatgaagactgccaccaacatctacattttcaaccttgctctggcagatgccttagccaccagtaccctgcccttccagagtgtgaattacctaatgggaacatggccatttggaaccatcctttgcaagatagtgatctccatagattactataacatgttcaccagcatattcaccctctgcaccatgagtgttgatcgatacattgcagtctgccaccctgtcaaggccttagatttccgtactccccgaaatgccaaaattatcaatgtctgcaactggatcctctcttcagccattggtcttcctgtaatgttcatggctacaacaaaatacaggcaag'))
+	#rs.addRegion(Region(154412087,154412607,'gttccatagattgtacactaacattctctcatccaacctggtactgggaaaacctgctgaagatctgtgttttcatcttcgccttcattatgccagtgctcatcattaccgtgtgctatggactgatgatcttgcgcctcaagagtgtccgcatgctctctggctccaaagaaaaggacaggaatcttcgaaggatcaccaggatggtgctggtggtggtggctgtgttcatcgtctgctggactcccattcacatttacgtcatcattaaagccttggttacaatcccagaaactacgttccagactgtttcttggcacttctgcattgctctaggttacacaaacagctgcctcaacccagtcctttatgcatttctggatgaaaacttcaaacgatgcttcagagagttctgtatcccaacctcttccaacattgagcaacaaaactccactcgaattcgtcagaacactagagaccacccctccacggccaatacagtggatagaactaatcatcag'))
+	#rs.addRegion(Region(154428600,154428787,'gtggaattgaacctggactgtcactgtgaaaatgcaaagccttggccactgagctacaatgcagggcagtctccatttcccttcccaggaagagtctagagcattaattttgagtttgcaaaggcttgtaactatttcatatgatttttagagctgactatgacatgaaccctaaaattcctgttccc'))
+	#rs.produceReads(3,50)
+	
+	# Artificial SNP
+	rs = ReadSynthesizer('chr1')
+	rs.addRegion(Region(  0+1, 59+1,'aaataggtcccaaacgttacgca'+'G'+'tctatgcctgacaaagttgcgaccacttcctctgcc'))#c -> G
+	rs.addRegion(Region( 60+1,119+1,'ttgtgtgacacgccggagatagg'+'A'+'catcagcaagtacgttaagtacactgaacgaactgg'))#g -> A
+	rs.addRegion(Region(120+1,179+1,'aggtttctacatcgtgcgtgatggc'+'C'+'ctaggagaagtgggtgtatctgcacagcataagt'))#t -> C
+	rs.addRegion(Region(180+1,239+1,'tataagacggaagtaaagcgtcttc'+'G'+'ccgttcagcaccccacgctcatagtcaatgctgg'))#a -> G
+	#rs.addRegion(Region(240+1,299+1,'ttcagcatagtcaagcgccggtggcctccaaaaagacgcactgagtagcttagctacttt'))
+	#rs.addRegion(Region(300+1,359+1,'gctccgcttgcggaagcactaagaggagattgaatttccaaatcccccccgatacctgtg'))
+	#rs.addRegion(Region(360+1,419+1,'cggtcgctacgtaagtgcgaagttctgttagatacgctccccttagtatatgggcgttaa'))
+	#rs.addRegion(Region(420+1,479+1,'tcggaccgtcggtactcactgcattccaggtctcatatagttcgccctagaagcctggga'))
+	rs.addRegion(Region(480+1,539+1,'tgaacgttgaacta'+'GCC'+'ctgatgtaaaccccgcgtgccaattccaggcgtcatgggggca'))#tag -> gcc
+	#rs.addRegion(Region(540+1,599+1,'acccctcgcagcctccctcttgctgttggtgcctagtatttcatgatttcgagccgacat'))
+	rs.produceReads(2,35)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/hg19_mutant.2.vcf	Wed Feb 15 16:16:01 2017 -0500
@@ -0,0 +1,25 @@
+##fileformat=VCFv4.1
+##source=VarScan2
+##INFO=<ID=ADP,Number=1,Type=Integer,Description="Average per-sample depth of bases with Phred score >= 15">
+##INFO=<ID=WT,Number=1,Type=Integer,Description="Number of samples called reference (wild-type)">
+##INFO=<ID=HET,Number=1,Type=Integer,Description="Number of samples called heterozygous-variant">
+##INFO=<ID=HOM,Number=1,Type=Integer,Description="Number of samples called homozygous-variant">
+##INFO=<ID=NC,Number=1,Type=Integer,Description="Number of samples not called">
+##FILTER=<ID=str10,Description="Less than 10% or more than 90% of variant supporting reads on one strand">
+##FILTER=<ID=indelError,Description="Likely artifact due to indel reads at this position">
+##FORMAT=<ID=GT,Number=1,Type=String,Description="Genotype">
+##FORMAT=<ID=GQ,Number=1,Type=Integer,Description="Genotype Quality">
+##FORMAT=<ID=SDP,Number=1,Type=Integer,Description="Raw Read Depth as reported by SAMtools">
+##FORMAT=<ID=DP,Number=1,Type=Integer,Description="Quality Read Depth of bases with Phred score >= 15">
+##FORMAT=<ID=RD,Number=1,Type=Integer,Description="Depth of reference-supporting bases (reads1)">
+##FORMAT=<ID=AD,Number=1,Type=Integer,Description="Depth of variant-supporting bases (reads2)">
+##FORMAT=<ID=FREQ,Number=1,Type=String,Description="Variant allele frequency">
+##FORMAT=<ID=PVAL,Number=1,Type=String,Description="P-value from Fisher's Exact Test">
+##FORMAT=<ID=RBQ,Number=1,Type=Integer,Description="Average quality of reference-supporting bases (qual1)">
+##FORMAT=<ID=ABQ,Number=1,Type=Integer,Description="Average quality of variant-supporting bases (qual2)">
+##FORMAT=<ID=RDF,Number=1,Type=Integer,Description="Depth of reference-supporting bases on forward strand (reads1plus)">
+##FORMAT=<ID=RDR,Number=1,Type=Integer,Description="Depth of reference-supporting bases on reverse strand (reads1minus)">
+##FORMAT=<ID=ADF,Number=1,Type=Integer,Description="Depth of variant-supporting bases on forward strand (reads2plus)">
+##FORMAT=<ID=ADR,Number=1,Type=Integer,Description="Depth of variant-supporting bases on reverse strand (reads2minus)">
+#CHROM	POS	ID	REF	ALT	QUAL	FILTER	INFO	FORMAT	Sample1
+chr6	154360797	.	A	G	.	PASS	ADP=174;WT=0;HET=0;HOM=1;NC=0	GT:GQ:SDP:DP:RD:AD:FREQ:PVAL:RBQ:ABQ:RDF:RDR:ADF:ADR	1/1:0:177:174:0:174:100%:9.8E-1:0:86:0:0:100:74
--- a/tool_dependencies.xml	Thu Nov 05 09:59:46 2015 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,14 +0,0 @@
-<?xml version="1.0"?>
-<tool_dependency>
-    <package name="samtools" version="0.1.19">
-        <repository changeset_revision="96aab723499f" name="package_samtools_0_1_19" owner="iuc" toolshed="https://toolshed.g2.bx.psu.edu" />
-    </package>
-
-    <package name="samtools_parallel_mpileup" version="0.1.19-a">
-        <repository changeset_revision="7dd0c6a9be41" name="package_samtools_parallel_mpileup_0_1_19_a" owner="yhoogstrate" toolshed="https://toolshed.g2.bx.psu.edu" />
-    </package>
-
-    <package name="varscan" version="2.3.6">
-        <repository changeset_revision="6f8cead3dc93" name="varscan_version_2" owner="devteam" prior_installation_required="True" toolshed="https://toolshed.g2.bx.psu.edu" />
-    </package>
-</tool_dependency>
--- a/varscan_mpileup2snp.xml	Thu Nov 05 09:59:46 2015 -0500
+++ b/varscan_mpileup2snp.xml	Wed Feb 15 16:16:01 2017 -0500
@@ -1,38 +1,35 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<tool id="varscan_mpileup2snp" name="VarScan2 Call SNPs from a mpileup file" version="2.3.6.a">
+<tool id="varscan_mpileup2snp" name="VarScan2 Call SNPs from a mpileup file" version="2.4.2.a">
     <description>VarScan2 SNP/SNV detection; directly from a *.mpileup file.</description>
     
     <requirements>
-        <requirement type="package" version="2.3.6">varscan</requirement>
+        <requirement type="package" version="2.4.2">varscan</requirement>
     </requirements>
     
-    <version_command>java -jar $JAVA_JAR_PATH/VarScan.v2.3.6.jar 2>&amp;1 | head -n 1</version_command>
+    <version_command>varscan 2&gt;&amp;1 | head -n 1</version_command>
     
-    <command>
-        cat $mpileup_input | java
-             -Xmx64G
-             -jar \$JAVA_JAR_PATH/VarScan.v2.3.6.jar
-                 mpileup2snp
-         
-        #if $extended_parameters.parameters == "extended"
-             --min-coverage     $extended_parameters.varscan_min_coverage
-             --min-reads2       $extended_parameters.varscan_min_reads2
-             --min-avg-qual     $extended_parameters.varscan_min_avg_qual
-             --min-var-freq     $extended_parameters.varscan_min_var_freq
-             --min-freq-for-hom $extended_parameters.varscan_min_freq_for_hom
-             --p-value          $extended_parameters.varscan_p_value
-                                $extended_parameters.varscan_strand_filter 
-                                $extended_parameters.varscan_variants 
-        #end if
-        
-        #if $varscan_output == "vcf" or $varscan_output.value == "vcf"
-         --output-vcf 1 
-        #end if
-        
-         2> stderr.txt 
-          > $snv_output ;
-         cat stderr.txt
-    </command>
+    <command detect_errors="exit_code"><![CDATA[
+        varscan mpileup2snp
+            
+            '${mpileup_input}'
+            
+            #if $extended_parameters.parameters == "extended"
+                 --min-coverage     $extended_parameters.varscan_min_coverage
+                 --min-reads2       $extended_parameters.varscan_min_reads2
+                 --min-avg-qual     $extended_parameters.varscan_min_avg_qual
+                 --min-var-freq     $extended_parameters.varscan_min_var_freq
+                 --min-freq-for-hom $extended_parameters.varscan_min_freq_for_hom
+                 --p-value          $extended_parameters.varscan_p_value
+                                    $extended_parameters.varscan_strand_filter 
+                                    $extended_parameters.varscan_variants 
+            #end if
+            
+            #if $varscan_output == "vcf" or $varscan_output.value == "vcf"
+                --output-vcf 1 
+            #end if
+            
+            > '${snv_output}'
+    ]]></command>
     
     <inputs>
         <param format="pileup" name="mpileup_input" type="data" label="Alignment file" help="Mapped reads in mpileup format."/><!-- datatype "mpileup" does not exist.. it seems to be common to use pileup instead? -->
@@ -78,10 +75,27 @@
             
             <output name="snv_output" file="hg19_mutant.vcf" />
         </test>
+        <test>
+            <param name="mpileup_input" value="hg19_mutant.mpileup" dbkey="hg19" ftype="pileup" />
+            <param name="parameters" value="extended" />
+            
+             <param name="varscan_min_coverage" value="8" />
+             <param name="varscan_min_reads2" value="2" />
+             <param name="varscan_min_avg_qual" value="15" />
+             <param name="varscan_min_var_freq" value="0.01" />
+             <param name="varscan_min_freq_for_hom" value="0.75" />
+             <param name="varscan_p_value" value="0.99" />
+             <param name="varscan_strand_filter" value=" --strand_filter 1"  />
+             <param name="varscan_variants" value=" --variants 0" />
+            
+            <param name="varscan_output_vcf" value="1" />
+            
+            <output name="snv_output" file="hg19_mutant.2.vcf" />
+        </test>
     </tests>
     
     <help>
-**VarScan 2.3.6**
+**VarScan 2.4.2**
 
 VarScan is a platform-independent mutation caller for targeted, exome, and whole-genome resequencing data generated on Illumina, SOLiD, Life/PGM, Roche/454, and similar instruments. The newest version, VarScan 2, is written in Java, so it runs on most operating systems.
 http://dx.doi.org/10.1101/gr.129684.111
@@ -92,42 +106,14 @@
 Other people were aware of this and have written a version that can do parallelization:
 https://github.com/mydatascience/parallel-mpileup
 
-Consequently, when a BAM files gets processed by this wrapper, it's processed by *parallel-mpileup* before its send to VarScan.
-
 .. _VarScan: http://varscan.sourceforge.net/
 
 **Input formats**
 
 VarScan2 accepts sequencing alignments in the same, either SAM or BAM format (http://samtools.sourceforge.net/). The alignment files have to be linked to a reference genome by galaxy. This is indicated under every history item with e.g.: *"database: hg19"* for a link to hg19, or *"database: ?"* if the link is missing.
 
-**Installation**
-
-Make sure your reference genomes are properly annotated in "tool-data/all_fasta.loc", and linked to the names of the reference used for alignment.
-
-**License**
-
-* VarScan2.3.6: Non-Profit Open Software License 3.0 (Non-Profit OSL 3.0)
-* parallel-mpileup: MIT License (https://github.com/mydatascience/parallel-mpileup/blob/master/samtools-0.1.19/COPYING)
-
-Contact
--------
-
-The tool wrapper has been written by Youri Hoogstrate from the Erasmus
-Medical Center (Rotterdam, Netherlands) on behalf of the Translational
-Research IT (TraIT) project:
-
-http://www.ctmm.nl/en/programmas/infrastructuren/traitprojecttranslationeleresearch
-
-More tools by the Translational Research IT (TraIT) project can be found
-in the following toolsheds:
-
-http://toolshed.dtls.nl/
-
-http://toolshed.g2.bx.psu.edu/
-
-http://testtoolshed.g2.bx.psu.edu/
 </help>
     <citations>
         <citation type="doi">10.1101/gr.129684.111</citation>
     </citations>
-</tool>
\ No newline at end of file
+</tool>
--- a/varscan_mpileup2snp_from_bam.xml	Thu Nov 05 09:59:46 2015 -0500
+++ b/varscan_mpileup2snp_from_bam.xml	Wed Feb 15 16:16:01 2017 -0500
@@ -1,102 +1,75 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<tool id="varscan_mpileup2snp_from_bam" name="VarScan2 Call SNPs from BAM" version="2.3.6.a">
+<tool id="varscan_mpileup2snp_from_bam" name="VarScan2 Call SNPs from BAM" version="2.4.2.a">
     <description>VarScan2 SNP/SNV detection; directly reading *.bam file(s) &amp; using parallel mpileup generation, to avoid unnecessairy I/O overhead and increase performance.</description>
     
     <requirements>
-        <requirement type="package" version="0.1.19-a">samtools_parallel_mpileup</requirement>
-        <requirement type="package" version="0.1.19">samtools</requirement>
-        <requirement type="package" version="2.3.6">varscan</requirement>
+        <requirement type="package" version="2.4.2">varscan</requirement>
+        <requirement type="package" version="0.6.5">sambamba</requirement>
     </requirements>
     
-    <version_command>java -jar $JAVA_JAR_PATH/VarScan.v2.3.6.jar 2>&amp;1 | head -n 1</version_command>
+    <version_command>varscan 2&gt;&amp;1 | head -n 1</version_command>
     
-    <command>
-        #if $reference_genome_source.source_select == "attribute" and len({ alignment.metadata.dbkey:True for alignment in $alignments }.keys()) != 1
-            echo "Invalid number of dbkeys are found: ${ len({ alignment.metadata.dbkey:True for alignment in $alignments }.keys()) }, while only one should be used. Make sure that the alignments are done on the same reference genome and that 'tool-data/all_fasta.loc' is configured properly!" >&amp;2
-        #else
-            #import os.path
+    <command detect_errors="exit_code"><![CDATA[
+        #for $alignment in $alignments
+            ln -f -s '${alignment.metadata.bam_index}' '${alignment}.bai' &&
+        #end for
+        
+        sambamba mpileup
+            -t \${GALAXY_SLOTS:-4}
+            
             #for $alignment in $alignments
-                <!-- @todo use the existence of $alignment.metadata.bam_index or $alignment.metadata['bam_index'] -->
-                #if not os.path.isfile(str($alignment)+".bai")
-                 echo "- Indexing alignment file: $alignment.name " ; 
-                 samtools index $alignment 2>&amp;1 ; 
-                #else
-                 echo "- Skiping indexing: $alignment.name " ; 
-                #end if
+                 '${alignment}'
             #end for
             
-            #if $mpileup_parallelization.mpileup_parallelization_select == "true"
-                samtools-parallel-mpileup mpileup
-                -t $mpileup_parallelization.samtools_threads
-            #else
-                samtools mpileup
-            #end if
-                -f 
-                    #if $reference_genome_source.source_select == "indexed_filtered"
-                        "$reference_genome_source.reference_genome"
-                    #else if $reference_genome_source.source_select == "indexed_all"
-                        "$reference_genome_source.reference_genome"
-                    #else if $reference_genome_source.source_select == "history"
-                        "$reference_genome_source.reference_genome"
-                    #else
-                        <!--
-                            This is a workaround to obtain the "genome.fa" file that
-                            corresponds to the dbkey of the alignments.
-                            Because this file is "calculated" during run-time, it can
-                            be used in a workflow.
-                        -->
-                        "${ filter( lambda x: str( x[0] ) == str( { alignment.metadata.dbkey:True for alignment in $alignments }.keys()[0] ), $__app__.tool_data_tables[ 'all_fasta' ].get_fields() )[0][-1] }"
-                    #end if
-            
-            #if $extended_parameters_regions.samtools_regions == "region"
-                 -r $extended_parameters_regions.samtools_r
-            #elif $extended_parameters_regions.samtools_regions == "regions_file_pos" or $extended_parameters_regions.samtools_regions == "regions_file_bed"
-                 -l $extended_parameters_regions.samtools_l
-            #end if
-            
-            #if $extended_parameters.parameters == "extended"
-                $extended_parameters.samtools_6
-                $extended_parameters.samtools_A
-                $extended_parameters.samtools_B
-                 -C $extended_parameters.samtools_C
-                 -d $extended_parameters.samtools_d
-                $extended_parameters.samtools_E
-                 -M $extended_parameters.samtools_M
-                $extended_parameters.samtools_R
-                 -q $extended_parameters.samtools_q
-                 -Q $extended_parameters.samtools_Q
-                
-                 -e $extended_parameters.samtools_e
-                 -F $extended_parameters.samtools_F
-                 -h $extended_parameters.samtools_h
-                $extended_parameters.samtools_I
-                 -L $extended_parameters.samtools_L
-                 -m $extended_parameters.samtools_m
-                 -o $extended_parameters.samtools_o
-                $extended_parameters.samtools_p
-                 -P $extended_parameters.samtools_P
-            #end if
-            
-            #for $alignment in $alignments
-                 ${alignment}
-            #end for
-             2>stderr_1.txt
-            
-            #if $mpileup_parallelization.mpileup_parallelization_select == "true"
-                #if $mpileup_parallelization.sort_mpileup
-                 | sort -k1,1V -k2,2g 
+            --samtools
+                -f
+                #if $reference_genome_source.source_select == "indexed_filtered"
+                    '$reference_genome_source.reference_genome'
+                #else if $reference_genome_source.source_select == "indexed_all"
+                    '$reference_genome_source.reference_genome'
+                #else if $reference_genome_source.source_select == "history"
+                    '$reference_genome_source.reference_genome'
+                #else
+                    <!--
+                        This is a workaround to obtain the "genome.fa" file that
+                        corresponds to the dbkey of the alignments.
+                        Because this file is "calculated" during run-time, it can
+                        be used in a workflow.
+                    -->
+                    "${ filter( lambda x: str( x[0] ) == str( { alignment.metadata.dbkey:True for alignment in $alignments }.keys()[0] ), $__app__.tool_data_tables[ 'all_fasta' ].get_fields() )[0][-1] }"
+                #end if
+
+                #if $extended_parameters_regions.sambamba_regions == "region"
+                     -r '${extended_parameters_regions.sambamba_r}'
+                #elif $extended_parameters_regions.sambamba_regions == "regions_file_pos" or $extended_parameters_regions.sambamba_regions == "regions_file_bed"
+                     -l '${extended_parameters_regions.sambamba_l}'
                 #end if
-            #end if
-            
-            ## Make for every MPILEUP file an 
-            ## http://en.wikipedia.org/wiki/Named_pipe
-            
-             | java
-                     -Xmx64G
-                     -jar \$JAVA_JAR_PATH/VarScan.v2.3.6.jar
-                         mpileup2snp
+
+                #if $extended_parameters.parameters == "extended"
+                    $extended_parameters.sambamba_6
+                    $extended_parameters.sambamba_A
+                    $extended_parameters.sambamba_B
+                     -C $extended_parameters.sambamba_C
+                     -d $extended_parameters.sambamba_d
+                    $extended_parameters.sambamba_E
+                     -M $extended_parameters.sambamba_M
+                    $extended_parameters.sambamba_R
+                     -q $extended_parameters.sambamba_q
+                     -Q $extended_parameters.sambamba_Q
+
+                     -e $extended_parameters.sambamba_e
+                     -F $extended_parameters.sambamba_F
+                     -h $extended_parameters.sambamba_h
+                    $extended_parameters.sambamba_I
+                     -L $extended_parameters.sambamba_L
+                     -m $extended_parameters.sambamba_m
+                     -o $extended_parameters.sambamba_o
+                    $extended_parameters.sambamba_p
+                     -P $extended_parameters.sambamba_P
+                #end if
+            | varscan mpileup2snp
              
-            #if $extended_parameters.parameters == "extended"
+                #if $extended_parameters.parameters == "extended"
                      --min-coverage     $extended_parameters.varscan_min_coverage
                      --min-reads2       $extended_parameters.varscan_min_reads2
                      --min-avg-qual     $extended_parameters.varscan_min_avg_qual
@@ -105,26 +78,15 @@
                      --p-value          $extended_parameters.varscan_p_value
                                         $extended_parameters.varscan_strand_filter 
                                         $extended_parameters.varscan_variants 
-            #end if
-            
-            #if $varscan_output == "vcf" or $varscan_output.value == "vcf"
-             --output-vcf 1 
-            #end if
+                #end if
             
-             2>stderr_2.txt 
-             > $snv_output ;
-             
-             
-             echo "---------------[ mpileup generation ]---------------" ;
-             cat stderr_1.txt ;
-             echo "" ;
-             echo "---------------[ VarScan SNP detect ]---------------" ;
-             cat stderr_2.txt ;
-             echo "" ;
-             echo "----------------------------------------------------" ;
-        #end if
-    </command>
-    
+                #if $varscan_output == "vcf" or $varscan_output.value == "vcf"
+                    --output-vcf 1 
+                #end if
+            
+                > '$snv_output'
+    ]]></command>
+
     <inputs>
         <param format="bam,sam" multiple="true" name="alignments" type="data" label="Alignment file(s)" help="Mapped reads in BAM or SAM format."/>
         
@@ -164,7 +126,7 @@
         </conditional>
         
         <conditional name="extended_parameters_regions">
-            <param name="samtools_regions" type="select" label="Region specific parameters" help="Let samtools target specific genomic locations.">
+            <param name="sambamba_regions" type="select" label="Region specific parameters" help="Let sambamba target specific genomic locations.">
                 <option value="entire_genome">Entire genome</option>
                 <option value="region">Specific region</option>
                 <option value="regions_file_pos">Specific positions (file); list of positions</option>
@@ -172,55 +134,43 @@
             </param>
             <when value="entire_genome" />
             <when value="region">
-                <param type="text" name="samtools_r" label="Samtools: region in which pileup is generated" help="e.g. chrX or chr:pos or chr:start-end" />
+                <param type="text" name="sambamba_r" label="Samtools: region in which pileup is generated" help="e.g. chrX or chr:pos or chr:start-end" />
             </when>
             <when value="regions_file_pos">
-                <param type="data" name="samtools_l" format="tabular" label="Samtools: list of positions (chr pos)" />
+                <param type="data" name="sambamba_l" format="tabular" label="Samtools: list of positions (chr pos)" />
             </when>
             <when value="regions_file_bed">
-                <param type="data" name="samtools_l" format="bed"     label="Samtools: specific regions (BED)" />
-            </when>
-        </conditional>
-        
-        <conditional name="mpileup_parallelization">
-            <param name="mpileup_parallelization_select" type="select" label="Use parallelization for the mpileup generation (experimental)" help="Especially if larger numbers of bam/sam files are processed, or the file infrastructure is optimized for IO-paralellization, this feature might improve performance.">
-                <option value="false" >False - uses classical samtools</option>
-                <option value="true">True - uses (experimental) samtools mpileup-parallel</option>
-            </param>
-            <when value="false" />
-            <when value="true">
-                <param type="integer" name="samtools_threads" value="2" min="1" label="Samtools: mpileup threads" />
-                <param type="boolean" name="sort_mpileup" truevalue="true" falsevalue="false" label="Sort mpileup file (SLOW)" help="Because parallelization may disrupt the outputs order, sorting can be conveniet for e.g. testing. Notice that this function has only use in a limited number of situations but consumes (much) resources. Only use it if it's really neccesairy." />
+                <param type="data" name="sambamba_l" format="bed"     label="Samtools: specific regions (BED)" />
             </when>
         </conditional>
         
         <conditional name="extended_parameters">
-            <param name="parameters" type="select" label="Advanced parameters" help="For more advanced VarScan and samtools settings.">
+            <param name="parameters" type="select" label="Advanced parameters" help="For more advanced VarScan and sambamba settings.">
                 <option value="default">Default settings</option>
                 <option value="extended">Extended settings</option>
             </param>
             <when value="default" />
             <when value="extended">
-                <param type="boolean" name="samtools_6" falsevalue="" truevalue=" -6" label="Samtools: assume the quality is in the Illumina-1.3+ encoding" />
-                <param type="boolean" name="samtools_A" falsevalue="" truevalue=" -A" label="Samtools: count anomalous read pairs" />
-                <param type="boolean" name="samtools_B" falsevalue="" truevalue=" -B" label="Samtools: disable BAQ computation" />
-                <param type="integer" name="samtools_C" value="0"                     label="Samtools: parameter for adjusting mapQ; 0 to disable [0]" />
-                <param type="integer" name="samtools_d" value="250"                   label="Samtools: max per-BAM depth to avoid excessive memory usage [250]" />
-                <param type="boolean" name="samtools_E" falsevalue="" truevalue=" -E" label="Samtools: recalculate extended BAQ on the fly thus ignoring existing BQs" />
-                <param type="integer" name="samtools_M" value="60"                    label="cap mapping quality at INT [60]" />
-                <param type="boolean" name="samtools_R" falsevalue="" truevalue=" -R" label="Samtools: ignore RG tags" />
-                <param type="integer" name="samtools_q" value="0"                     label="Samtools: skip alignments with mapQ smaller than INT [0]" />
-                <param type="integer" name="samtools_Q" value="13"                    label="Samtools: skip bases with baseQ/BAQ smaller than INT [13]" />
+                <param type="boolean" name="sambamba_6" falsevalue="" truevalue=" -6" label="Samtools: assume the quality is in the Illumina-1.3+ encoding" />
+                <param type="boolean" name="sambamba_A" falsevalue="" truevalue=" -A" label="Samtools: count anomalous read pairs" />
+                <param type="boolean" name="sambamba_B" falsevalue="" truevalue=" -B" label="Samtools: disable BAQ computation" />
+                <param type="integer" name="sambamba_C" value="0"                     label="Samtools: parameter for adjusting mapQ; 0 to disable [0]" />
+                <param type="integer" name="sambamba_d" value="250"                   label="Samtools: max per-BAM depth to avoid excessive memory usage [250]" />
+                <param type="boolean" name="sambamba_E" falsevalue="" truevalue=" -E" label="Samtools: recalculate extended BAQ on the fly thus ignoring existing BQs" />
+                <param type="integer" name="sambamba_M" value="60"                    label="cap mapping quality at INT [60]" />
+                <param type="boolean" name="sambamba_R" falsevalue="" truevalue=" -R" label="Samtools: ignore RG tags" />
+                <param type="integer" name="sambamba_q" value="0"                     label="Samtools: skip alignments with mapQ smaller than INT [0]" />
+                <param type="integer" name="sambamba_Q" value="13"                    label="Samtools: skip bases with baseQ/BAQ smaller than INT [13]" />
                 
-                <param type="integer" name="samtools_e" value="20"                    label="Samtools: Phred-scaled gap extension seq error probability [20]" />
-                <param type="float"   name="samtools_F" value="0.002"                 label="Samtools: minimum fraction of gapped reads for candidates [0.002]" help="Alias: -F" />
-                <param type="integer" name="samtools_h" value="100"                   label="Samtools: coefficient for homopolymer errors [100]" />
-                <param type="boolean" name="samtools_I" falsevalue="" truevalue=" -I" label="Samtools: do not perform indel calling" />
-                <param type="integer" name="samtools_L" value="250"                   label="Samtools: max per-sample depth for INDEL calling [250]" />
-                <param type="integer" name="samtools_m" value="1"                     label="Samtools: minimum gapped reads for indel candidates [1]" help="Alias: -m" />
-                <param type="integer" name="samtools_o" value="40"                    label="Samtools: Phred-scaled gap open sequencing error probability [40]" />
-                <param type="boolean" name="samtools_p" falsevalue="" truevalue=" -p" label="Samtools: apply -m and -F per-sample to increase sensitivity" />
-                <param type="text"    name="samtools_P" value="all"                   label="Samtools: comma separated list of platforms for indels [all]" />
+                <param type="integer" name="sambamba_e" value="20"                    label="Samtools: Phred-scaled gap extension seq error probability [20]" />
+                <param type="float"   name="sambamba_F" value="0.002"                 label="Samtools: minimum fraction of gapped reads for candidates [0.002]" help="Alias: -F" />
+                <param type="integer" name="sambamba_h" value="100"                   label="Samtools: coefficient for homopolymer errors [100]" />
+                <param type="boolean" name="sambamba_I" falsevalue="" truevalue=" -I" label="Samtools: do not perform indel calling" />
+                <param type="integer" name="sambamba_L" value="250"                   label="Samtools: max per-sample depth for INDEL calling [250]" />
+                <param type="integer" name="sambamba_m" value="1"                     label="Samtools: minimum gapped reads for indel candidates [1]" help="Alias: -m" />
+                <param type="integer" name="sambamba_o" value="40"                    label="Samtools: Phred-scaled gap open sequencing error probability [40]" />
+                <param type="boolean" name="sambamba_p" falsevalue="" truevalue=" -p" label="Samtools: apply -m and -F per-sample to increase sensitivity" />
+                <param type="text"    name="sambamba_P" value="all"                   label="Samtools: comma separated list of platforms for indels [all]" />
                 
                 <param type="integer" name="varscan_min_coverage"     value="8"       label="VarScan: Minimum read depth at a position to make a call [8]" />
                 <param type="integer" name="varscan_min_reads2"	      value="2"       label="VarScan: PMinimum supporting reads at a position to call variants [2]" />
@@ -248,34 +198,13 @@
     </outputs>
     
     <tests>
-        <test><!-- Use classical samtools -->
+        <test><!-- Use classical sambamba -->
             <param name="alignments" value="example.bam" ftype="bam" />
             
             <param name="source_select" value="history" />
-            <param name="reference_genome" value="example.fa" ftypet="fasta" />
-            
-            <param name="samtools_regions" value="entire_genome" />
-            
-            <param name="mpileup_parallelization_select" value="false" />
-            <param name="sort_mpileup" value="true" />
-            
-            <param name="parameters" value="default" />
-            <param name="varscan_output_vcf" value="1" />
-            
+            <param name="reference_genome" value="example.fa" />
             
-            <output name="snv_output" file="example.vcf" />
-        </test>
-        <test><!-- Use parallelized samtools - @todo replace with sambamba! -->
-            <param name="alignments" value="example.bam" ftype="bam" />
-            
-            <param name="source_select" value="history" />
-            <param name="reference_genome" value="example.fa" ftypet="fasta" />
-            
-            <param name="samtools_regions" value="entire_genome" />
-            
-            <param name="mpileup_parallelization_select" value="true" />
-            <param name="samtools_threads" value="2" />
-            <param name="sort_mpileup" value="true" />
+            <param name="sambamba_regions" value="entire_genome" />
             
             <param name="parameters" value="default" />
             <param name="varscan_output_vcf" value="1" />
@@ -286,53 +215,29 @@
     </tests>
     
     <help>
-**VarScan 2.3.6**
+**VarScan 2.4.2**
 
-VarScan is a platform-independent mutation caller for targeted, exome, and whole-genome resequencing data generated on Illumina, SOLiD, Life/PGM, Roche/454, and similar instruments. The newest version, VarScan 2, is written in Java, so it runs on most operating systems.
+VarScan is a platform-independent mutation caller for targeted, exome, and whole-genome resequencing data generated on Illumina, SOLiD, Life/PGM, Roche/454, and similar instruments.
 http://dx.doi.org/10.1101/gr.129684.111
 http://www.ncbi.nlm.nih.gov/pubmed/19542151
 
-*VarScan* requires mpileup formatted input files, which are generally derived from BAM files. Since mpileup files can become humongous, the interim step of storing it is bypassed. Thus, in this wrapper one or multiple BAM/SAM files go in, get processed into a mpileup file and get directly linked to VarScan.
-The samtools package is not able to parallelize the mpileup generation which make it a very slow process.
-Other people were aware of this and have written a version that can do parallelization:
-https://github.com/mydatascience/parallel-mpileup
-
-Consequently, when a BAM files gets processed by this wrapper, it's processed by *parallel-mpileup* before its send to VarScan.
+*VarScan* requires mpileup input files, generally derived from BAM files. Since mpileup files can become humongous, the interim step of storing can be by-passed using this tool.
+Thus, in this wrapper one or multiple BAM/SAM files go in, get processed into a mpileup file and get directly linked to VarScan.
 
 .. _VarScan: http://varscan.sourceforge.net/
 
 **Input formats**
 
-VarScan2 accepts sequencing alignments in the same, either SAM or BAM format (http://samtools.sourceforge.net/). The alignment files have to be linked to a reference genome by galaxy. This is indicated under every history item with e.g.: *"database: hg19"* for a link to hg19, or *"database: ?"* if the link is missing.
-
-**Installation**
-
-Make sure your reference genomes are properly annotated in "tool-data/all_fasta.loc", and linked to the names of the reference used for alignment.
-
-**License**
-
-* VarScan2.3.6: Non-Profit Open Software License 3.0 (Non-Profit OSL 3.0)
-* parallel-mpileup: MIT License (https://github.com/mydatascience/parallel-mpileup/blob/master/samtools-0.1.19/COPYING)
+VarScan2 accepts sequencing alignments in the same, either SAM or BAM format (http://samtools.sourceforge.net/).
+The alignment files must have a reference genome (dbkey) in Galaxy.
 
 Contact
 -------
 
 The tool wrapper has been written by Youri Hoogstrate from the Erasmus
-Medical Center (Rotterdam, Netherlands) on behalf of the Translational
-Research IT (TraIT) project:
-
-http://www.ctmm.nl/en/programmas/infrastructuren/traitprojecttranslationeleresearch
-
-More tools by the Translational Research IT (TraIT) project can be found
-in the following toolsheds:
-
-http://toolshed.dtls.nl/
-
-http://toolshed.g2.bx.psu.edu/
-
-http://testtoolshed.g2.bx.psu.edu/
+Medical Center (Rotterdam, Netherlands) 
 </help>
     <citations>
         <citation type="doi">10.1101/gr.129684.111</citation>
     </citations>
-</tool>
\ No newline at end of file
+</tool>