public class ConvertOldFastqToModernFormatPlugin
extends AbstractPlugin
This plugin takes a single fastq or a directory of fastq files in the "old" format and converts them to the "modern" illumina format. The old format had multiple taxa combined in a single file, with barcodes attaached to each read sequence. The new fastQ format has the taxa (samples) each in individual files. THis method takes the old fastq and for each read block, subsets the sequence to start after the barcode (but including the initial cut site) and end after the ending cut site. The quality score is subsetted identically to the sequence so the 2 match. Files are written to a user defined directory.
public static java.lang.String inputFileGlob
public static java.lang.String sampleNameField
public static java.lang.String flowcellField
public static java.lang.String laneField
public static java.lang.String barcodeField
public static java.lang.String tissueNameField
public static java.lang.String fileNameField
protected static int readEndCutSiteRemnantLength
public ConvertOldFastqToModernFormatPlugin()
public ConvertOldFastqToModernFormatPlugin(java.awt.Frame parentFrame,
boolean isInteractive)
protected void postProcessParameters()
public static boolean determineKeyFormat(java.lang.String keyFile)
public static java.util.ArrayList<net.maizegenetics.taxa.Taxon> getLaneAnnotatedTaxaList(java.nio.file.Path keyPath,
java.nio.file.Path fastQpath,
boolean useNew)
public static TaxaList readOldTaxaAnnotationFile(java.lang.String fileName, java.util.Map<java.lang.String,java.lang.String> filters, boolean mergeSameNames)
public static java.util.ArrayList<net.maizegenetics.taxa.Taxon> readOldFormatKeyFile(java.lang.String fileName,
java.util.Map<java.lang.String,java.lang.String> filters,
boolean mergeSameNames)
public static void processFastQFile(java.nio.file.Path keyPath,
java.nio.file.Path fastQPath,
java.lang.String enzymeName,
TaxaList masterTaxaList,
java.util.Map<net.maizegenetics.taxa.Taxon,net.maizegenetics.util.Tuple> taxaFileMap,
java.lang.String outputDir,
java.lang.String projectName,
boolean keyFormatIsNew)
public static java.lang.String[] readAllFastQBlock(java.io.BufferedReader bw,
int currentRead)
public javax.swing.ImageIcon getIcon()
public java.lang.String getButtonName()
public java.lang.String getToolTipText()
public java.lang.String inputFile()
Input file or directory containing FASTQ files in text or gzipped text. NOTE: Directory will be searched recursively
public ConvertOldFastqToModernFormatPlugin inputFile(java.lang.String value)
Set Input Directory. Input file or directory containing FASTQ files in text or gzipped text. NOTE: Directory will be searched recursively
value - Input Directorypublic java.lang.String keyFile()
Key file listing barcodes distinguishing the samples
public ConvertOldFastqToModernFormatPlugin keyFile(java.lang.String value)
Set Key File. Key file listing barcodes distinguishing the samples
value - Key Filepublic java.lang.String projectName()
Name for this project. Project name becomes part of the newly created fastq file name
public ConvertOldFastqToModernFormatPlugin projectName(java.lang.String value)
Set Project File. Name for this project. Project name becomes part of the newly created fastq file name
value - Project Filepublic java.lang.String outputDir()
Output directory where new fastQ files will be written
public ConvertOldFastqToModernFormatPlugin outputDir(java.lang.String value)
Set Output Directory. Output directory where new fastQ files will be written
value - Output Directorypublic java.lang.String enzyme()
Enzyme used to create the GBS library
public ConvertOldFastqToModernFormatPlugin enzyme(java.lang.String value)
Set Enzyme. Enzyme used to create the GBS library
value - Enzyme