[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