Genomes
Date: 2014-10-01

artificialFastqGenerator

## Class Genomes

- java.lang.Object
- - artificialFastqGenerator.Genomes

-     public class Genomes
      extends java.lang.Object

  The Genomes class provides facilities for (1) creating a toy genome, (2) getting the start and end strings for a chromosome in the human reference genome, (3) analysing and producing summary statistics for the human reference genome. 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 java.lang.String` | `HRGChromosome10Str`
    `static java.lang.String` | `HRGChromosome11Str`
    `static java.lang.String` | `HRGChromosome12Str`
    `static java.lang.String` | `HRGChromosome13Str`
    `static java.lang.String` | `HRGChromosome14Str`
    `static java.lang.String` | `HRGChromosome15Str`
    `static java.lang.String` | `HRGChromosome16Str`
    `static java.lang.String` | `HRGChromosome17Str`
    `static java.lang.String` | `HRGChromosome18Str`
    `static java.lang.String` | `HRGChromosome19Str`
    `static java.lang.String` | `HRGChromosome1Str`
    `static java.lang.String` | `HRGChromosome20Str`
    `static java.lang.String` | `HRGChromosome21Str`
    `static java.lang.String` | `HRGChromosome22Str`
    `static java.lang.String` | `HRGChromosome2Str`
    `static java.lang.String` | `HRGChromosome3Str`
    `static java.lang.String` | `HRGChromosome4Str`
    `static java.lang.String` | `HRGChromosome5Str`
    `static java.lang.String` | `HRGChromosome6Str`
    `static java.lang.String` | `HRGChromosome7Str`
    `static java.lang.String` | `HRGChromosome8Str`
    `static java.lang.String` | `HRGChromosome9Str`
    `static java.lang.String` | `HRGChromosomeXStr`
    `static java.lang.String` | `HRGChromosomeYStr`
    `static java.util.logging.Logger` | `logger`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `Genomes()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `static void` | `analyzeHumanReferenceGenome(java.lang.String humanReferenceGenomePath, java.lang.String outputPath, int lineDivisor)` Conduct an analysis of the human reference genome.
    `static java.lang.String[]` | `createChromosomeArray()` Create an array of chromosome header strings.
    `static void` | `generateToyGenome(java.lang.String outFilePath, int length, boolean printChromosomeLines, int chromosomeLineIntervals)` Generate a toy genome.
    `static java.lang.String[]` | `getChromosomeStartEndStrs(java.lang.String chromosomes)` Get the human reference genome sequence start and end strings for a set of chromsomes.
    `static boolean` | `isNonBase(java.lang.String currentCharStr, java.lang.String previousCharStr)` Check whether a human reference sequence file character is a base.
    `static java.lang.String` | `makeCountProportionsString(double ACount, double TCount, double CCount, double GCount, double NCount, double divisor)` Make a String containing summary statistics for a region of nucleobases in the human reference sequence file.

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

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

- - ### Field Detail

    - #### HRGChromosome1Str

          public static final java.lang.String HRGChromosome1Str

      See Also:
        Constant Field Values

    - #### HRGChromosome2Str

          public static final java.lang.String HRGChromosome2Str

      See Also:
        Constant Field Values

    - #### HRGChromosome3Str

          public static final java.lang.String HRGChromosome3Str

      See Also:
        Constant Field Values

    - #### HRGChromosome4Str

          public static final java.lang.String HRGChromosome4Str

      See Also:
        Constant Field Values

    - #### HRGChromosome5Str

          public static final java.lang.String HRGChromosome5Str

      See Also:
        Constant Field Values

    - #### HRGChromosome6Str

          public static final java.lang.String HRGChromosome6Str

      See Also:
        Constant Field Values

    - #### HRGChromosome7Str

          public static final java.lang.String HRGChromosome7Str

      See Also:
        Constant Field Values

    - #### HRGChromosome8Str

          public static final java.lang.String HRGChromosome8Str

      See Also:
        Constant Field Values

    - #### HRGChromosome9Str

          public static final java.lang.String HRGChromosome9Str

      See Also:
        Constant Field Values

    - #### HRGChromosome10Str

          public static final java.lang.String HRGChromosome10Str

      See Also:
        Constant Field Values

    - #### HRGChromosome11Str

          public static final java.lang.String HRGChromosome11Str

      See Also:
        Constant Field Values

    - #### HRGChromosome12Str

          public static final java.lang.String HRGChromosome12Str

      See Also:
        Constant Field Values

    - #### HRGChromosome13Str

          public static final java.lang.String HRGChromosome13Str

      See Also:
        Constant Field Values

    - #### HRGChromosome14Str

          public static final java.lang.String HRGChromosome14Str

      See Also:
        Constant Field Values

    - #### HRGChromosome15Str

          public static final java.lang.String HRGChromosome15Str

      See Also:
        Constant Field Values

    - #### HRGChromosome16Str

          public static final java.lang.String HRGChromosome16Str

      See Also:
        Constant Field Values

    - #### HRGChromosome17Str

          public static final java.lang.String HRGChromosome17Str

      See Also:
        Constant Field Values

    - #### HRGChromosome18Str

          public static final java.lang.String HRGChromosome18Str

      See Also:
        Constant Field Values

    - #### HRGChromosome19Str

          public static final java.lang.String HRGChromosome19Str

      See Also:
        Constant Field Values

    - #### HRGChromosome20Str

          public static final java.lang.String HRGChromosome20Str

      See Also:
        Constant Field Values

    - #### HRGChromosome21Str

          public static final java.lang.String HRGChromosome21Str

      See Also:
        Constant Field Values

    - #### HRGChromosome22Str

          public static final java.lang.String HRGChromosome22Str

      See Also:
        Constant Field Values

    - #### HRGChromosomeXStr

          public static final java.lang.String HRGChromosomeXStr

      See Also:
        Constant Field Values

    - #### HRGChromosomeYStr

          public static final java.lang.String HRGChromosomeYStr

      See Also:
        Constant Field Values

    - #### logger

          public static java.util.logging.Logger logger

  - ### Constructor Detail

    - #### Genomes

          public Genomes()

  - ### Method Detail

    - #### generateToyGenome

          public static void generateToyGenome(java.lang.String outFilePath,
                               int length,
                               boolean printChromosomeLines,
                               int chromosomeLineIntervals)

      Generate a toy genome.
      Parameters:
        `outFilePath` - - the path for the outputted toy genome.
        `length` - - the number of nucleobases to go into the toy genome.
        `printChromosomeLines` - - Whether to write the header lines for each chromosome.
        `chromosomeLineIntervals` - - the number of nucleobases to go into each chromosome in the toy genome.

    - #### createChromosomeArray

          public static java.lang.String[] createChromosomeArray()

      Create an array of chromosome header strings.
      Returns:
        chromosomeStrs - an array of the header strings in the human reference genome for each chromosome.

    - #### getChromosomeStartEndStrs

          public static java.lang.String[] getChromosomeStartEndStrs(java.lang.String chromosomes)

      Get the human reference genome sequence start and end strings for a set of chromsomes.
      Parameters:
        `chromosomes` - - the chromosomes for which we want the start and end strings.
      Returns:
        chromosomeStartEndStrs - the start and end strings.

    - #### analyzeHumanReferenceGenome

          public static void analyzeHumanReferenceGenome(java.lang.String humanReferenceGenomePath,
                                         java.lang.String outputPath,
                                         int lineDivisor)

      Conduct an analysis of the human reference genome.
      Parameters:
        `humanReferenceGenomePath` - - the path to the human reference genome file.
        `outputPath` - - the path for the output.
        `lineDivisor` - - the region size in # of nucleobases for which to provide summary statistics.

    - #### isNonBase

          public static boolean isNonBase(java.lang.String currentCharStr,
                          java.lang.String previousCharStr)

      Check whether a human reference sequence file character is a base.
      Parameters:
        `currentCharStr` - - the current human reference sequence file character as a String.
        `previousCharStr` - - the previous human reference sequence file character as a String.
      Returns:
        isNonBase - true if the char is not a base, else false.

    - #### makeCountProportionsString

          public static java.lang.String makeCountProportionsString(double ACount,
                                                    double TCount,
                                                    double CCount,
                                                    double GCount,
                                                    double NCount,
                                                    double divisor)

      Make a String containing summary statistics for a region of nucleobases in the human reference sequence file.
      Parameters:
        `ACount` - - number of A nucleobases in the region.
        `TCount` - - number of T nucleobases in the region.
        `CCount` - - number of C nucleobases in the region.
        `GCount` - - number of G nucleobases in the region.
        `NCount` - - number of N nucleobases in the region.
        `divisor` - - size of the region in number of nucleobases.
      Returns:
        countProportionsString - the count proportions for the different possible nucleobases in a region in the human reference sequence file.