[med-svn] [trimmomatic] 02/06: Imported Upstream version 0.36+dfsg
Andreas Tille
tille at debian.org
Thu May 19 12:38:00 UTC 2016
This is an automated email from the git hooks/post-receive script.
tille pushed a commit to branch master
in repository trimmomatic.
commit c39d405c824b6f98abea33829aef8b78de3cb8fb
Author: Andreas Tille <tille at debian.org>
Date: Thu May 19 13:42:54 2016 +0200
Imported Upstream version 0.36+dfsg
---
build.xml | 4 +-
src/org/usadellab/trimmomatic/Trimmomatic.java | 33 ++++++++++--
src/org/usadellab/trimmomatic/TrimmomaticPE.java | 11 +++-
src/org/usadellab/trimmomatic/TrimmomaticSE.java | 9 +++-
.../trimmomatic/trim/HeadCropTrimmer.java | 26 +++++++--
.../trimmomatic/trim/TailCropTrimmer.java | 61 ++++++++++++++++++++++
.../usadellab/trimmomatic/trim/TrimmerFactory.java | 3 ++
.../trimmomatic/util/ConcatGZIPInputStream.java | 51 ++----------------
8 files changed, 137 insertions(+), 61 deletions(-)
diff --git a/build.xml b/build.xml
index 2377c50..0e1e944 100644
--- a/build.xml
+++ b/build.xml
@@ -1,5 +1,5 @@
<project name="Trimmomatic" default="dist" basedir=".">
- <property name="version" value="0.35"/>
+ <property name="version" value="0.36"/>
<property name="src" location="src" />
<property name="lib" location="lib" />
@@ -44,6 +44,8 @@
<exclude name="**/*.java"/>
</fileset>
</copy>
+
+ <echo file="${dist_build}/version.properties" append="false">version=${version}${line.separator}</echo>
</target>
<target name="dist" depends="compile">
diff --git a/src/org/usadellab/trimmomatic/Trimmomatic.java b/src/org/usadellab/trimmomatic/Trimmomatic.java
index 16d6032..5ebb6a7 100644
--- a/src/org/usadellab/trimmomatic/Trimmomatic.java
+++ b/src/org/usadellab/trimmomatic/Trimmomatic.java
@@ -1,10 +1,12 @@
package org.usadellab.trimmomatic;
import java.io.IOException;
+import java.io.InputStream;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Iterator;
import java.util.List;
+import java.util.Properties;
import org.usadellab.trimmomatic.trim.Trimmer;
import org.usadellab.trimmomatic.trim.TrimmerFactory;
@@ -12,10 +14,26 @@ import org.usadellab.trimmomatic.util.Logger;
public class Trimmomatic
{
-
private static final int MAX_AUTO_THREADS_THRESHOLD=8;
private static final int MAX_AUTO_THREADS_ALLOC=4;
+ static void showVersion()
+ {
+ try
+ {
+ InputStream is=ClassLoader.getSystemResourceAsStream("version.properties");
+
+ Properties props=new Properties();
+ props.load(is);
+
+ System.out.println(props.getProperty("version"));
+ }
+ catch (Exception e)
+ {
+ throw new RuntimeException("Unable to determine version",e);
+ }
+ }
+
static int calcAutoThreadCount()
{
int cpus=Runtime.getRuntime().availableProcessors();
@@ -52,7 +70,7 @@ public class Trimmomatic
{
boolean showUsage=true;
- if(args.length>1)
+ if(args.length>0)
{
String mode=args[0];
String restOfArgs[]=Arrays.copyOfRange(args, 1, args.length);
@@ -67,14 +85,21 @@ public class Trimmomatic
if(TrimmomaticSE.run(restOfArgs))
showUsage=false;
}
+ else if(mode.equals("-version"))
+ {
+ showVersion();
+ showUsage=false;
+ }
}
if(showUsage)
{
System.err.println("Usage: ");
- System.err.println(" PE [-threads <threads>] [-phred33|-phred64] [-trimlog <trimLogFile>] [-quiet] [-validatePairs] [-basein <inputBase> | <inputFile1> <inputFile2>] [-baseout <outputBase> | <outputFile1P> <outputFile1U> <outputFile2P> <outputFile2U>] <trimmer1>...");
+ System.err.println(" PE [-version] [-threads <threads>] [-phred33|-phred64] [-trimlog <trimLogFile>] [-quiet] [-validatePairs] [-basein <inputBase> | <inputFile1> <inputFile2>] [-baseout <outputBase> | <outputFile1P> <outputFile1U> <outputFile2P> <outputFile2U>] <trimmer1>...");
+ System.err.println(" or: ");
+ System.err.println(" SE [-version] [-threads <threads>] [-phred33|-phred64] [-trimlog <trimLogFile>] [-quiet] <inputFile> <outputFile> <trimmer1>...");
System.err.println(" or: ");
- System.err.println(" SE [-threads <threads>] [-phred33|-phred64] [-trimlog <trimLogFile>] [-quiet] <inputFile> <outputFile> <trimmer1>...");
+ System.err.println(" -version");
System.exit(1);
}
}
diff --git a/src/org/usadellab/trimmomatic/TrimmomaticPE.java b/src/org/usadellab/trimmomatic/TrimmomaticPE.java
index 613b675..b040a5c 100644
--- a/src/org/usadellab/trimmomatic/TrimmomaticPE.java
+++ b/src/org/usadellab/trimmomatic/TrimmomaticPE.java
@@ -411,6 +411,7 @@ public class TrimmomaticPE extends Trimmomatic
boolean badOption = false;
boolean validatePairs = false;
boolean quiet=false;
+ boolean showVersion=false;
File trimLog = null;
@@ -452,7 +453,9 @@ public class TrimmomaticPE extends Trimmomatic
else if (arg.equals("-validatePairs"))
validatePairs=true;
else if (arg.equals("-quiet"))
- quiet=true;
+ quiet=true;
+ else if (arg.equals("-version"))
+ showVersion=true;
else
{
System.err.println("Unknown option " + arg);
@@ -463,10 +466,14 @@ public class TrimmomaticPE extends Trimmomatic
nonOptionArgs.add(arg);
}
+ if(showVersion)
+ Trimmomatic.showVersion();
+
+
int additionalArgs=1+(templateInput==null?2:0)+(templateOutput==null?4:0);
if ((nonOptionArgs.size() < additionalArgs) || badOption)
- return false;
+ return showVersion;
Logger logger=new Logger(true,true,!quiet);
diff --git a/src/org/usadellab/trimmomatic/TrimmomaticSE.java b/src/org/usadellab/trimmomatic/TrimmomaticSE.java
index 6855b96..c366eb6 100644
--- a/src/org/usadellab/trimmomatic/TrimmomaticSE.java
+++ b/src/org/usadellab/trimmomatic/TrimmomaticSE.java
@@ -239,6 +239,7 @@ public class TrimmomaticSE extends Trimmomatic
File trimLog = null;
boolean quiet=false;
+ boolean showVersion=false;
List<String> nonOptionArgs=new ArrayList<String>();
@@ -263,7 +264,8 @@ public class TrimmomaticSE extends Trimmomatic
}
else if (arg.equals("-quiet"))
quiet=true;
-
+ else if (arg.equals("-version"))
+ showVersion=true;
else
{
System.err.println("Unknown option " + arg);
@@ -274,8 +276,11 @@ public class TrimmomaticSE extends Trimmomatic
nonOptionArgs.add(arg);
}
+ if(showVersion)
+ Trimmomatic.showVersion();
+
if ((nonOptionArgs.size() < 3) || badOption)
- return false;
+ return showVersion;
Logger logger=new Logger(true,true,!quiet);
diff --git a/src/org/usadellab/trimmomatic/trim/HeadCropTrimmer.java b/src/org/usadellab/trimmomatic/trim/HeadCropTrimmer.java
index de50f04..a68f567 100644
--- a/src/org/usadellab/trimmomatic/trim/HeadCropTrimmer.java
+++ b/src/org/usadellab/trimmomatic/trim/HeadCropTrimmer.java
@@ -4,22 +4,38 @@ import org.usadellab.trimmomatic.fastq.FastqRecord;
public class HeadCropTrimmer extends AbstractSingleRecordTrimmer
{
- private int pos;
+ private int bases;
+ private int maxLength=Integer.MAX_VALUE/2;
public HeadCropTrimmer(String args)
{
- pos=Integer.parseInt(args);
+ String arg[]=args.split(":");
+
+ bases=Integer.parseInt(arg[0]);
+
+ if(arg.length>1)
+ maxLength=Integer.parseInt(arg[1]);
+
}
@Override
public FastqRecord processRecord(FastqRecord in)
{
int len=in.getSequence().length();
-
- if(len<=pos)
+
+ int toTrim=bases;
+ int overLen=len-toTrim-maxLength;
+
+ if(overLen>0)
+ toTrim+=overLen;
+
+ if(len<=toTrim)
return null;
+
+ if(toTrim==0)
+ return in;
- return new FastqRecord(in,pos,len-pos);
+ return new FastqRecord(in,toTrim,len-toTrim);
}
}
diff --git a/src/org/usadellab/trimmomatic/trim/TailCropTrimmer.java b/src/org/usadellab/trimmomatic/trim/TailCropTrimmer.java
new file mode 100644
index 0000000..d52304d
--- /dev/null
+++ b/src/org/usadellab/trimmomatic/trim/TailCropTrimmer.java
@@ -0,0 +1,61 @@
+package org.usadellab.trimmomatic.trim;
+
+import org.usadellab.trimmomatic.fastq.FastqRecord;
+
+public class TailCropTrimmer extends AbstractSingleRecordTrimmer
+{
+ private int bases;
+ private int maxLength=Integer.MAX_VALUE/2;
+
+ public TailCropTrimmer(String args)
+ {
+ String arg[]=args.split(":");
+
+ bases=Integer.parseInt(arg[0]);
+
+ if(arg.length>1)
+ maxLength=Integer.parseInt(arg[1]);
+ }
+
+
+/*
+ @Override
+ public FastqRecord[] processRecords(FastqRecord[] in)
+ {
+ if(in==null)
+ return null;
+
+ FastqRecord out[]=new FastqRecord[in.length];
+
+ for(int i=0;i<in.length;i++)
+ {
+ if(in[i]!=null)
+ out[i]=processRecord(in[i]);
+ }
+
+ return out;
+ }
+ */
+
+
+ @Override
+ public FastqRecord processRecord(FastqRecord in)
+ {
+ int len=in.getSequence().length();
+
+ int toTrim=bases;
+ int overLen=len-toTrim-maxLength;
+
+ if(overLen>0)
+ toTrim+=overLen;
+
+ if(len<=toTrim)
+ return null;
+
+ if(toTrim==0)
+ return in;
+
+ return new FastqRecord(in,0,len-toTrim);
+ }
+
+}
diff --git a/src/org/usadellab/trimmomatic/trim/TrimmerFactory.java b/src/org/usadellab/trimmomatic/trim/TrimmerFactory.java
index ba6aedd..27ce454 100644
--- a/src/org/usadellab/trimmomatic/trim/TrimmerFactory.java
+++ b/src/org/usadellab/trimmomatic/trim/TrimmerFactory.java
@@ -40,6 +40,9 @@ public class TrimmerFactory
if(trimmerName.equals("HEADCROP"))
return new HeadCropTrimmer(args);
+ if(trimmerName.equals("TAILCROP"))
+ return new TailCropTrimmer(args);
+
if(trimmerName.equals("CROP"))
return new CropTrimmer(args);
diff --git a/src/org/usadellab/trimmomatic/util/ConcatGZIPInputStream.java b/src/org/usadellab/trimmomatic/util/ConcatGZIPInputStream.java
index e952927..05153cd 100644
--- a/src/org/usadellab/trimmomatic/util/ConcatGZIPInputStream.java
+++ b/src/org/usadellab/trimmomatic/util/ConcatGZIPInputStream.java
@@ -34,7 +34,9 @@ public class ConcatGZIPInputStream extends InputStream
}
if(more)
+ {
gzIn=new GZIPHelperInputStream(source);
+ }
else
gzIn=null;
}
@@ -57,22 +59,7 @@ public class ConcatGZIPInputStream extends InputStream
if(res==-1)
nextGzipInputStream();
}
-
- /*
- if(gzIn==null)
- return -1;
-
- int res=gzIn.read();
- if(res==-1)
- {
- nextGzipInputStream();
- if(gzIn==null)
- return -1;
- else
- res=gzIn.read();
- }
- */
-
+
return res;
}
@@ -87,22 +74,7 @@ public class ConcatGZIPInputStream extends InputStream
if(res==-1)
nextGzipInputStream();
}
-
- /*
- if(gzIn==null)
- return -1;
-
- int res=gzIn.read(b, off, len);
- if(res==-1)
- {
- nextGzipInputStream();
- if(gzIn==null)
- return -1;
- else
- res=gzIn.read(b, off, len);
- }
- */
-
+
return res;
}
@@ -117,21 +89,6 @@ public class ConcatGZIPInputStream extends InputStream
if(res==-1)
nextGzipInputStream();
}
-
- /*
- if(gzIn==null)
- return -1;
-
- int res=gzIn.read(b);
- if(res==-1)
- {
- nextGzipInputStream();
- if(gzIn==null)
- return -1;
- else
- res=gzIn.read(b);
- }
- */
return res;
}
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-med/trimmomatic.git
More information about the debian-med-commit
mailing list