public class MergeFastqPlugin
Plugin to combine all fastq files in the input -fastqDir into sets of combined Fastqs. he number to be batched together is set by -numToMerge. It will also generate a template script for running minimap2 If -useOriginalReadNames is set to true, the fastq records will not be renamed. This should only be used if the read names are unique in each fastq. Otherwise minimap2 will mix samples.
It will also output a Grouping file which is used in MultisampleBAMToMappingPlugin so the PHG knows how to split back out the alignments for the reads.
public MergeFastqPlugin(@Nullable java.awt.Frame parentFrame, boolean isInteractive)
Plugin to combine all fastq files in the input -fastqDir into sets of combined Fastqs. he number to be batched together is set by -numToMerge. It will also generate a template script for running minimap2 If -useOriginalReadNames is set to true, the fastq records will not be renamed. This should only be used if the read names are unique in each fastq. Otherwise minimap2 will mix samples.
It will also output a Grouping file which is used in MultisampleBAMToMappingPlugin so the PHG knows how to split back out the alignments for the reads.
public MergeFastqPlugin()
Plugin to combine all fastq files in the input -fastqDir into sets of combined Fastqs. he number to be batched together is set by -numToMerge. It will also generate a template script for running minimap2 If -useOriginalReadNames is set to true, the fastq records will not be renamed. This should only be used if the read names are unique in each fastq. Otherwise minimap2 will mix samples.
It will also output a Grouping file which is used in MultisampleBAMToMappingPlugin so the PHG knows how to split back out the alignments for the reads.
@Nullable public net.maizegenetics.plugindef.DataSet processData(@Nullable net.maizegenetics.plugindef.DataSet input)
public void mergeUsingKeyFile(@NotNull java.lang.String fastqDirectory, @NotNull java.lang.String inputKeyFile)
public void mergeFiles(@NotNull java.lang.String mergedFileName, @NotNull java.io.BufferedWriter outputGroupingWriter, @NotNull java.util.List<? extends java.io.File> fileList, int batchId)
@Nullable public javax.swing.ImageIcon getIcon()
@NotNull public java.lang.String getButtonName()
@NotNull public java.lang.String getToolTipText()
@NotNull public java.lang.String fastqDir()
Name of the Fastq dir to process.
@NotNull public MergeFastqPlugin fastqDir(@NotNull java.lang.String value)
Set Fastq dir to process. Name of the Fastq dir to process.
value
- Fastq dir to process@NotNull public java.lang.String outputMergedFastqDir()
Directory to write out the fastq files.
@NotNull public MergeFastqPlugin outputMergedFastqDir(@NotNull java.lang.String value)
Set Directory to write out merged fastq files.. Directory to write out the fastq files.
value
- Directory to write out merged fastq files.@NotNull public java.lang.String outputBAMDir()
Directory to point the script Template to for BAM writing. If not specified, will be added to the script and will need to be updated.
@NotNull public MergeFastqPlugin outputBAMDir(@NotNull java.lang.String value)
Set Output BAM Directory. Directory to point the script Template to for BAM writing. If not specified, will be added to the script and will need to be updated.
value
- Output BAM Directorypublic boolean makeBAMDir()
Make the BAM Directory by adding a mkdir command to the script.
@NotNull public MergeFastqPlugin makeBAMDir(boolean value)
Set Make BAM Directory. Make the BAM Directory by adding a mkdir command to the script.
value
- Make BAM Directory@NotNull public java.lang.String outputGroupingFile()
File to write out the groupings.
@NotNull public MergeFastqPlugin outputGroupingFile(@NotNull java.lang.String value)
Set File To output the groupings which have been merged.. File to write out the groupings.
value
- File To output the groupings which have been merged.public int numberOfFastqsPerMerge()
Number of fastqs to merge into a single fastq
@NotNull public MergeFastqPlugin numberOfFastqsPerMerge(int value)
Set Number of Fastas To Merge. Number of fastqs to merge into a single fastq
value
- Number of Fastas To Merge@NotNull public java.lang.String scriptTemplate()
Generated Template Script for future minimap runs. This makes it easier to run minimap on the merged fastq files. Do not specify the script extension(.sh)
@NotNull public MergeFastqPlugin scriptTemplate(@NotNull java.lang.String value)
Set Template Script Name. Generated Template Script for future minimap runs. This makes it easier to run minimap on the merged fastq files. Do not specify the script extension(.sh)
value
- Template Script Namepublic int numberOfScripts()
Number of script templates to output. Will append _1.sh to the file name specified in -scriptTemplate. Fastq Batches will be evenly distributed across scripts.
@NotNull public MergeFastqPlugin numberOfScripts(int value)
Set Number of Scripts to output. Number of script templates to output. Will append _1.sh to the file name specified in -scriptTemplate. Fastq Batches will be evenly distributed across scripts.
value
- Number of Scripts to outputpublic int numberOfThreads()
Number of to setup in the script
@NotNull public MergeFastqPlugin numberOfThreads(int value)
Set Number of Threads. Number of to setup in the script
value
- Number of Threads@NotNull public java.lang.String minimapLocation()
Location of Minimap2 on file system. This defaults to use minimap2 if it is on the PATH environment variable.
@NotNull public MergeFastqPlugin minimapLocation(@NotNull java.lang.String value)
Set Location of Minimap2 Executable. Location of Minimap2 on file system. This defaults to use minimap2 if it is on the PATH environment variable.
value
- Location of Minimap2 Executable@NotNull public java.lang.String indexFile()
Name of the indexFile file to for writing to scriptTemplate. If not specified, will be written to the script and will need to be updated.
@NotNull public MergeFastqPlugin indexFile(@NotNull java.lang.String value)
Set Minimap2 index file for pangenome. Name of the indexFile file to for writing to scriptTemplate. If not specified, will be written to the script and will need to be updated.
value
- Minimap2 index file for pangenome@NotNull public java.lang.String keyFile()
Name of the Keyfile to process. Must have columns cultivar, flowcell_lane, filename, and PlateID. Optionally for paired end reads, filename2 is needed. If filename2 is not supplied, Minimap2 will be setup to run in single end mode. Otherwise will be paired.
@NotNull public MergeFastqPlugin keyFile(@NotNull java.lang.String value)
Set keyFile. Name of the Keyfile to process. Must have columns cultivar, flowcell_lane, filename, and PlateID. Optionally for paired end reads, filename2 is needed. If filename2 is not supplied, Minimap2 will be setup to run in single end mode. Otherwise will be paired.
value
- keyFilepublic boolean useOriginalReadNames()
Use the original ReadNames instead of a running count
@NotNull public MergeFastqPlugin useOriginalReadNames(boolean value)
Set Use Original Read Names. Use the original ReadNames instead of a running count
value
- Use Original Read Namespublic int minimapNParam()
Set this to increase the N parameter used in Minimap2
@NotNull public MergeFastqPlugin minimapNParam(int value)
Set Minimap -N parameter. Set this to increase the N parameter used in Minimap2
value
- Minimap -N parameter@NotNull public java.lang.String minimapFParam()
Set this to change the -f parameter in minimap2
@NotNull public MergeFastqPlugin minimapFParam(@NotNull java.lang.String value)
Set Minimap -f Parameter. Set this to change the -f parameter in minimap2
value
- Minimap -f Parameterpublic boolean outputSamFiles()
Output SAM files instead of BAM files
@NotNull public MergeFastqPlugin outputSamFiles(boolean value)
Set Output SAM Files. Output SAM files instead of BAM files
value
- Output SAM Files