Skip to content
Commits on Source (10)
<project name="Trimmomatic" default="dist" basedir=".">
<property name="version" value="0.38"/>
<property name="version" value="0.39"/>
<property name="src" location="src" />
<property name="lib" location="lib" />
......
trimmomatic (0.39+dfsg-1) unstable; urgency=medium
* New upstream version
* debhelper 12
* Standards-Version: 4.3.0
* Secure URI in copyright format
* Remove trailing whitespace in debian/changelog
* Remove trailing whitespace in debian/copyright
-- Andreas Tille <tille@debian.org> Wed, 03 Jul 2019 08:56:09 +0200
trimmomatic (0.38+dfsg-1) unstable; urgency=medium
* New upstream version
......
......@@ -4,12 +4,12 @@ Uploaders: Andreas Tille <tille@debian.org>,
Steffen Moeller <moeller@debian.org>
Section: science
Priority: optional
Build-Depends: debhelper (>= 11~),
Build-Depends: debhelper (>= 12~),
default-jdk | openjdk-7-jdk,
javahelper,
ant,
libjbzip2-java
Standards-Version: 4.1.4
Standards-Version: 4.3.0
Vcs-Browser: https://salsa.debian.org/med-team/trimmomatic
Vcs-Git: https://salsa.debian.org/med-team/trimmomatic.git
Homepage: http://www.usadellab.org/cms/index.php?page=trimmomatic
......
Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: Trimmomatic
Upstream-Contact: Federico Giorgi <federico.giorgi@gmail.com>,
Anthony Bolger <bolger@mpimp-golm.mpg.de>
......
......@@ -4,7 +4,7 @@ Description: Use Debian packaged bzip2 library
--- a/build.xml
+++ b/build.xml
@@ -2,7 +2,7 @@
<property name="version" value="0.38"/>
<property name="version" value="0.39"/>
<property name="src" location="src" />
- <property name="lib" location="lib" />
......
......@@ -2,24 +2,86 @@ package org.usadellab.trimmomatic.trim;
import org.usadellab.trimmomatic.fastq.FastqRecord;
public class HeadCropTrimmer extends AbstractSingleRecordTrimmer
public class HeadCropTrimmer implements Trimmer
{
private int bases;
private int maxLength=Integer.MAX_VALUE/2;
private int firstBases;
private int midBases;
private int lastBases;
private int firstMaxLength=Integer.MAX_VALUE/2;
private int midMaxLength=Integer.MAX_VALUE/2;
private int lastMaxLength=Integer.MAX_VALUE/2;
public HeadCropTrimmer(String args)
{
String arg[]=args.split(":");
bases=Integer.parseInt(arg[0]);
switch(arg.length)
{
case 1:
firstBases=midBases=lastBases=Integer.parseInt(arg[0]);
break;
case 2:
firstBases=midBases=lastBases=Integer.parseInt(arg[0]);
firstMaxLength=midMaxLength=lastMaxLength=Integer.parseInt(arg[1]);
break;
case 4:
firstBases=midBases=Integer.parseInt(arg[0]);
firstMaxLength=midMaxLength=Integer.parseInt(arg[1]);
lastBases=Integer.parseInt(arg[2]);
lastMaxLength=Integer.parseInt(arg[3]);
break;
case 6:
firstBases=Integer.parseInt(arg[0]);
firstMaxLength=Integer.parseInt(arg[1]);
midBases=Integer.parseInt(arg[2]);
midMaxLength=Integer.parseInt(arg[3]);
lastBases=Integer.parseInt(arg[4]);
lastMaxLength=Integer.parseInt(arg[5]);
break;
default:
}
if(arg.length>1)
maxLength=Integer.parseInt(arg[1]);
}
@Override
public FastqRecord processRecord(FastqRecord in)
public FastqRecord[] processRecords(FastqRecord[] in) {
if(in==null)
return null;
FastqRecord out[]=new FastqRecord[in.length];
int lastRecord=in.length-1;
if(in.length>0)
{
if(in[0]!=null)
out[0]=processRecord(in[0], firstBases, firstMaxLength);
}
for(int i=1;i<lastRecord;i++)
{
if(in[i]!=null)
out[i]=processRecord(in[i], midBases, midMaxLength);
}
if(lastRecord>0)
{
if(in[lastRecord]!=null)
out[lastRecord]=processRecord(in[lastRecord], lastBases, lastMaxLength);
}
return out;
}
private FastqRecord processRecord(FastqRecord in, int bases, int maxLength)
{
int len=in.getSequence().length();
......
......@@ -2,44 +2,85 @@ package org.usadellab.trimmomatic.trim;
import org.usadellab.trimmomatic.fastq.FastqRecord;
public class TailCropTrimmer extends AbstractSingleRecordTrimmer
public class TailCropTrimmer implements Trimmer
{
private int bases;
private int maxLength=Integer.MAX_VALUE/2;
private int firstBases;
private int midBases;
private int lastBases;
private int firstMaxLength=Integer.MAX_VALUE/2;
private int midMaxLength=Integer.MAX_VALUE/2;
private int lastMaxLength=Integer.MAX_VALUE/2;
public TailCropTrimmer(String args)
{
String arg[]=args.split(":");
bases=Integer.parseInt(arg[0]);
switch(arg.length)
{
case 1:
firstBases=midBases=lastBases=Integer.parseInt(arg[0]);
break;
case 2:
firstBases=midBases=lastBases=Integer.parseInt(arg[0]);
firstMaxLength=midMaxLength=lastMaxLength=Integer.parseInt(arg[1]);
break;
case 4:
firstBases=midBases=Integer.parseInt(arg[0]);
firstMaxLength=midMaxLength=Integer.parseInt(arg[1]);
lastBases=Integer.parseInt(arg[2]);
lastMaxLength=Integer.parseInt(arg[3]);
break;
case 6:
firstBases=Integer.parseInt(arg[0]);
firstMaxLength=Integer.parseInt(arg[1]);
midBases=Integer.parseInt(arg[2]);
midMaxLength=Integer.parseInt(arg[3]);
lastBases=Integer.parseInt(arg[4]);
lastMaxLength=Integer.parseInt(arg[5]);
break;
default:
if(arg.length>1)
maxLength=Integer.parseInt(arg[1]);
}
}
/*
@Override
public FastqRecord[] processRecords(FastqRecord[] in)
{
public FastqRecord[] processRecords(FastqRecord[] in) {
if(in==null)
return null;
FastqRecord out[]=new FastqRecord[in.length];
for(int i=0;i<in.length;i++)
int lastRecord=in.length-1;
if(in.length>0)
{
if(in[0]!=null)
out[0]=processRecord(in[0], firstBases, firstMaxLength);
}
for(int i=1;i<lastRecord;i++)
{
if(in[i]!=null)
out[i]=processRecord(in[i]);
out[i]=processRecord(in[i], midBases, midMaxLength);
}
return out;
if(lastRecord>0)
{
if(in[lastRecord]!=null)
out[lastRecord]=processRecord(in[lastRecord], lastBases, lastMaxLength);
}
*/
return out;
}
@Override
public FastqRecord processRecord(FastqRecord in)
private FastqRecord processRecord(FastqRecord in, int bases, int maxLength)
{
int len=in.getSequence().length();
......