This is an automated email from the git hooks/post-receive script. tille pushed a commit to branch master in repository varscan.
commit f0352e739424f103b734d2b9aa9e683bb4a34848 Author: Andreas Tille <[email protected]> Date: Tue Sep 16 14:20:59 2014 +0200 Imported Upstream version 2.3.7+dfsg --- net/sf/varscan/CallMpileup.java | 63 +++++++++++++++++++++++------------------ net/sf/varscan/CallPileup.java | 2 +- net/sf/varscan/CopyCaller.java | 2 +- net/sf/varscan/Copynumber.java | 4 +-- net/sf/varscan/Somatic.java | 3 +- net/sf/varscan/Trio.java | 9 +++++- net/sf/varscan/VarScan.java | 6 ++-- 7 files changed, 53 insertions(+), 36 deletions(-) diff --git a/net/sf/varscan/CallMpileup.java b/net/sf/varscan/CallMpileup.java index 28590ae..ebba0b3 100644 --- a/net/sf/varscan/CallMpileup.java +++ b/net/sf/varscan/CallMpileup.java @@ -308,35 +308,36 @@ public class CallMpileup { try { - String[] lineContents = line.split("\t"); - - // Verify expected pileup format // - - if(lineContents.length > 5 && lineContents[0].length() > 0 && lineContents[1].length() > 0 && lineContents[2].length() > 0 && lineContents[3].length() > 0) - { - if(numBases == 1 && params.containsKey("output-vcf")) - { - vcfHeader += "\n" + "#CHROM\tPOS\tID\tREF\tALT\tQUAL\tFILTER\tINFO\tFORMAT"; - if(sampleList.length() > 0) + String[] lineContents = line.split("\t", -1); + + // Output VCF header if desired // + + if(numBases == 1 && params.containsKey("output-vcf")) + { + vcfHeader += "\n" + "#CHROM\tPOS\tID\tREF\tALT\tQUAL\tFILTER\tINFO\tFORMAT"; + if(sampleList.length() > 0) + { + vcfHeader += "\t" + sampleList; + } + else + { + // print the VCF sample header // + int sampleCounter = 0; + for(int colCounter = 3; colCounter <= (lineContents.length - 3); colCounter += 3) { - vcfHeader += "\t" + sampleList; + sampleCounter++; + vcfHeader += "\tSample" + sampleCounter; } - else - { - // print the VCF sample header // - int sampleCounter = 0; - for(int colCounter = 3; colCounter <= (lineContents.length - 3); colCounter += 3) - { - sampleCounter++; - vcfHeader += "\tSample" + sampleCounter; - } - } + } - System.out.println(vcfHeader); - } + System.out.println(vcfHeader); + } + // Verify expected pileup format // + if(lineContents.length > 5 && lineContents[0].length() > 0 && lineContents[1].length() > 0 && lineContents[2].length() > 0 && lineContents[3].length() > 0) + { String refName = lineContents[0]; String position = lineContents[1]; String refBase = lineContents[2].toUpperCase(); @@ -564,7 +565,12 @@ public class CallMpileup { - if(allReadDepth >= minCoverage && qualityDepth >= minCoverage) + if(params.containsKey("output-vcf")) + { + // Skip this if we're outputting VCF // + + } + else if(allReadDepth >= minCoverage && qualityDepth >= minCoverage) { HashMap<String, String> readCounts = VarScan.getReadCounts(refBase, allReadBases, allReadQualities, minAvgQual, allMapQualities); String positionCall = VarScan.callPosition(refBase, readCounts, "CNS", minReads2, minVarFreq, minAvgQual, pValueThreshold, minFreqForHom); @@ -722,14 +728,17 @@ public class CallMpileup { } - + // BEGIN BUILDING OUTPUT LINE // String outLine = refName + "\t" + position + "\t"; if(params.containsKey("output-vcf")) { // Calculate average sample depth // - int avgQualityDepth = qualityDepth / (samplesRef + samplesHet + samplesHom + samplesUncalled); + int avgQualityDepth = 0; + if((samplesRef + samplesHet + samplesHom + samplesUncalled) > 0) + avgQualityDepth = qualityDepth / (samplesRef + samplesHet + samplesHom + samplesUncalled); + String refColumn = ""; String varColumn = ""; @@ -901,7 +910,7 @@ public class CallMpileup { } else { - System.err.println("Error: Invalid format for pileup at line " + numBases + "\n" + line + "\n"); + System.err.println("Warning: Line ignored: Invalid format for pileup at line " + numBases + "\n" + line + "\n"); return; } diff --git a/net/sf/varscan/CallPileup.java b/net/sf/varscan/CallPileup.java index d289312..72c6bd0 100644 --- a/net/sf/varscan/CallPileup.java +++ b/net/sf/varscan/CallPileup.java @@ -178,7 +178,7 @@ public class CallPileup { try { - String[] lineContents = line.split("\t"); + String[] lineContents = line.split("\t", -1); // Verify expected pileup format // diff --git a/net/sf/varscan/CopyCaller.java b/net/sf/varscan/CopyCaller.java index e9b5817..0eaabff 100644 --- a/net/sf/varscan/CopyCaller.java +++ b/net/sf/varscan/CopyCaller.java @@ -253,7 +253,7 @@ public class CopyCaller { int gcBin = (int) gcContent; if(gcBin >= 0 && gcBin <= 100) { - gcLogSum[gcBin] += logratio; + gcLogSum[gcBin] += (float) logratio; gcLogNum[gcBin]++; } } diff --git a/net/sf/varscan/Copynumber.java b/net/sf/varscan/Copynumber.java index 83c3186..443c8ae 100644 --- a/net/sf/varscan/Copynumber.java +++ b/net/sf/varscan/Copynumber.java @@ -735,7 +735,7 @@ public class Copynumber { String tumorQualities = ""; // Pileup Files have 6-7 columns // - if(normalContents.length <= 7) + if(normalContents.length >= 6 && normalContents.length <= 7) { pileupDepthNormal = Integer.parseInt(normalContents[3]); normalQualities = normalContents[5]; @@ -748,7 +748,7 @@ public class Copynumber { } // Pileup Files have 6-7 columns // - if(tumorContents.length <= 7) + if(tumorContents.length >= 6 && tumorContents.length <= 7) { tumorQualities = tumorContents[5]; pileupDepthTumor = Integer.parseInt(tumorContents[3]); diff --git a/net/sf/varscan/Somatic.java b/net/sf/varscan/Somatic.java index 25bb198..f652dd3 100644 --- a/net/sf/varscan/Somatic.java +++ b/net/sf/varscan/Somatic.java @@ -43,6 +43,7 @@ public class Somatic { "\t--min-coverage - Minimum coverage in normal and tumor to call variant [8]\n" + "\t--min-coverage-normal - Minimum coverage in normal to call somatic [8]\n" + "\t--min-coverage-tumor - Minimum coverage in tumor to call somatic [6]\n" + + "\t--min-avg-qual - Minimum Phred quality to count a base [15]\n" + "\t--min-var-freq - Minimum variant frequency to call a heterozygote [0.10]\n" + "\t--min-freq-for-hom\tMinimum frequency to call homozygote [0.75]\n" + "\t--normal-purity - Estimated purity (non-tumor content) of normal sample [1.00]\n" + @@ -334,7 +335,7 @@ public class Somatic { try { - String[] lineContents = line.split("\t"); + String[] lineContents = line.split("\t", -1); // Verify expected pileup format // diff --git a/net/sf/varscan/Trio.java b/net/sf/varscan/Trio.java index 85d46cb..f1c0271 100644 --- a/net/sf/varscan/Trio.java +++ b/net/sf/varscan/Trio.java @@ -78,6 +78,7 @@ public class Trio { double strandPvalueThreshold = 0.01; double adjustedMinVarFreq = 0.05; double adjustedpValueThreshold = 0.10; + int adjustedMinReads2 = 2; boolean strandFilter = true; String sampleList = ""; @@ -98,6 +99,9 @@ public class Trio { if(params.containsKey("min-reads2")) minReads2 = Integer.parseInt(params.get("min-reads2")); + if(params.containsKey("adj-min-reads2")) + adjustedMinReads2 = Integer.parseInt(params.get("adj-min-reads2")); + if(params.containsKey("min-var-freq")) minVarFreq = Double.parseDouble(params.get("min-var-freq")); @@ -185,6 +189,9 @@ public class Trio { System.err.println("Min var freq:\t" + minVarFreq); System.err.println("Min avg qual:\t" + minAvgQual); System.err.println("P-value thresh:\t" + pValueThreshold); + System.err.println("Adj. min reads2:\t" + adjustedMinReads2); + System.err.println("Adj. var freq:\t" + adjustedMinVarFreq); + System.err.println("Adj. p-value:\t" + adjustedpValueThreshold); } catch(Exception e) { @@ -482,7 +489,7 @@ public class Trio { // double adjustedMinVarFreq = minVarFreq / 2.00; // double adjustedpValueThreshold = 0.20; - trioCall = callTrio(refBase, fatherCounts, motherCounts, childCounts, minReads2, adjustedMinVarFreq, minAvgQual, adjustedpValueThreshold, minFreqForHom); + trioCall = callTrio(refBase, fatherCounts, motherCounts, childCounts, adjustedMinReads2, adjustedMinVarFreq, minAvgQual, adjustedpValueThreshold, minFreqForHom); trioCallContents = trioCall.split("\t"); // Determine if something changed // diff --git a/net/sf/varscan/VarScan.java b/net/sf/varscan/VarScan.java index adf2283..3c509d5 100644 --- a/net/sf/varscan/VarScan.java +++ b/net/sf/varscan/VarScan.java @@ -1,7 +1,7 @@ /** * @(#)VarScan.java * - * Copyright (c) 2009-2010 Daniel C. Koboldt and Washington University in St. Louis + * Copyright (c) 2009-2013 Daniel C. Koboldt and Washington University in St. Louis * * COPYRIGHT */ @@ -478,8 +478,8 @@ public class VarScan { } else { - System.err.println("File not found: " + args[1] + "\n"); - System.exit(10); +// System.err.println("File not found: " + args[1] + "\n"); +// System.exit(10); } } -- Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-med/varscan.git _______________________________________________ debian-med-commit mailing list [email protected] http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/debian-med-commit
