Main
Date: 2014-10-01

artificialFastqGenerator

## Class Main

- java.lang.Object
- - artificialFastqGenerator.Main

-     public class Main
      extends java.lang.Object

  This class is responsible for checking whether the user's command is valid, and if it is, creating instances of the ArtificialFastqGenerator class in order to generate fastq files. Copyright (C) 2012 The Institute of Cancer Research (ICR). This file is part of ArtificialFastqGenerator v1.0.0. ArtificialFastqGenerator is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU Public License along with this program. If not, see Authour's contact email: Matthew.Frampton@icr.ac.uk

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static int` | `captureProbeLength`
    `static boolean` | `coverageBasedOnGCcontent`
    `static double` | `coverageMeanGCcontentSpread`
    `static double` | `coverageMeanPeak`
    `static double` | `coverageMeanPeakGCcontent`
    `static double` | `coverageSD`
    `static java.lang.String` | `DEBUG_NUCLEOBASES`
    `static java.lang.String` | `DEBUG_NUCLEOBASES_NUC_IDS`
    `static java.lang.String` | `DEBUG_NUCLEOBASES_PE_IDS`
    `static java.lang.String` | `DEFAULT_OUTPUT`
    `static java.lang.String` | `endSequenceIdentifier`
    `static java.lang.String` | `fastq1ForQualityScores`
    `static java.lang.String` | `fastq2ForQualityScores`
    `static java.util.logging.Logger` | `logger`
    `static int` | `logRegionStats`
    `static int` | `nucleobaseBufferSize`
    `static java.lang.String` | `outputFormat`
    `static java.lang.String` | `outputPath`
    `static int` | `readLength`
    `static int` | `readsContainingNfilter`
    `static java.lang.String` | `referenceGenomePath`
    `static boolean` | `simulateErrorInRead`
    `static int` | `startingX`
    `static int` | `startingY`
    `static java.lang.String` | `startSequenceIdentifier`
    `static int` | `templateLengthMean`
    `static double` | `templateLengthSD`
    `static java.util.ArrayList<java.util.HashMap<java.lang.String,java.lang.String>>` | `userArgsInfoArrayList`
    `static boolean` | `useRealQualityScores`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `Main()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `static void` | `main(java.lang.String[] args)` Check whether the user's command is valid for artificial fastq generation.

    - ### Methods inherited from class java.lang.Object

      `equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### outputPath

          public static java.lang.String outputPath

    - #### referenceGenomePath

          public static java.lang.String referenceGenomePath

    - #### startSequenceIdentifier

          public static java.lang.String startSequenceIdentifier

    - #### fastq1ForQualityScores

          public static java.lang.String fastq1ForQualityScores

    - #### fastq2ForQualityScores

          public static java.lang.String fastq2ForQualityScores

    - #### captureProbeLength

          public static int captureProbeLength

    - #### coverageBasedOnGCcontent

          public static boolean coverageBasedOnGCcontent

    - #### coverageMeanPeak

          public static double coverageMeanPeak

    - #### coverageMeanPeakGCcontent

          public static double coverageMeanPeakGCcontent

    - #### coverageMeanGCcontentSpread

          public static double coverageMeanGCcontentSpread

    - #### coverageSD

          public static double coverageSD

    - #### DEBUG_NUCLEOBASES

          public static java.lang.String DEBUG_NUCLEOBASES

    - #### DEBUG_NUCLEOBASES_NUC_IDS

          public static java.lang.String DEBUG_NUCLEOBASES_NUC_IDS

    - #### DEBUG_NUCLEOBASES_PE_IDS

          public static java.lang.String DEBUG_NUCLEOBASES_PE_IDS

    - #### DEFAULT_OUTPUT

          public static java.lang.String DEFAULT_OUTPUT

    - #### endSequenceIdentifier

          public static java.lang.String endSequenceIdentifier

    - #### logRegionStats

          public static int logRegionStats

    - #### nucleobaseBufferSize

          public static int nucleobaseBufferSize

    - #### outputFormat

          public static java.lang.String outputFormat

    - #### readsContainingNfilter

          public static int readsContainingNfilter

    - #### readLength

          public static int readLength

    - #### simulateErrorInRead

          public static boolean simulateErrorInRead

    - #### startingX

          public static int startingX

    - #### startingY

          public static int startingY

    - #### templateLengthMean

          public static int templateLengthMean

    - #### templateLengthSD

          public static double templateLengthSD

    - #### useRealQualityScores

          public static boolean useRealQualityScores

    - #### logger

          public static final java.util.logging.Logger logger

    - #### userArgsInfoArrayList

          public static java.util.ArrayList<java.util.HashMap<java.lang.String,java.lang.String>> userArgsInfoArrayList

  - ### Constructor Detail

    - #### Main

          public Main()

  - ### Method Detail

    - #### main

          public static void main(java.lang.String[] args)

      Check whether the user's command is valid for artificial fastq generation. If it is, then create ArtificialFastqGenerator objects to create fastqs.
      Parameters:
        `args` -