1
package org.usadellab.trimmomatic.trim;
3
import java.io.IOException;
6
public class TrimmerFactory
8
public TrimmerFactory()
12
public Trimmer makeTrimmer(String desc) throws IOException
14
String trimmerName=desc;
17
int idx=desc.indexOf(':');
21
trimmerName=desc.substring(0,idx);
22
if(idx<desc.length()-1)
23
args=desc.substring(idx+1);
26
if(trimmerName.equals("ILLUMINACLIP"))
27
return IlluminaClippingTrimmer.makeIlluminaClippingTrimmer(args);
29
if(trimmerName.equals("LEADING"))
30
return new LeadingTrimmer(args);
32
if(trimmerName.equals("TRAILING"))
33
return new TrailingTrimmer(args);
35
if(trimmerName.equals("HEADCROP"))
36
return new HeadCropTrimmer(args);
38
if(trimmerName.equals("CROP"))
39
return new CropTrimmer(args);
41
if(trimmerName.equals("SLIDINGWINDOW"))
42
return new SlidingWindowTrimmer(args);
44
if(trimmerName.equals("MAXINFO"))
45
return new MaximumInformationTrimmer(args);
47
if(trimmerName.equals("MINLEN"))
48
return new MinLenTrimmer(args);
50
if(trimmerName.equals("AVGQUAL"))
51
return new AvgQualTrimmer(args);
53
if(trimmerName.equals("TOPHRED33"))
54
return new ToPhred33Trimmer(args);
56
if(trimmerName.equals("TOPHRED64"))
57
return new ToPhred64Trimmer(args);
60
throw new RuntimeException("Unknown trimmer: "+trimmerName);