NAME
    Data::Random::Nucleotides - Generate random nucleotide strings.

VERSION
    version 0.1

SYNOPSIS
        use Data::Random::Nucleotides qw/:all/;

        # Generate a string of 200 random A/C/G/T characters.
        $nucs = rand_nuc ( size => 200 );

        # Generate a string of random A/C/G/T between 20 and 500 characters.
        $nucs = rand_nuc ( min => 20, max => 500 );

        # Generate a string of 30 random A/C/G/T/N characters.
        $nucs = rand_nuc ( size => 30, N=>1 );

        # Generate a multi-lined string of 500 random A/C/G/T/N characters.
        # The 500 characters will be split into lines of 70 characters each.
        $nucs = rand_wrapped_nuc ( size => 500 );

        # Generate a string containing a single FASTA-like sequence text.
        $fasta = rand_fasta ( size => 200 ) ;

DESCRIPTION
    This module is a thin wrapper around Data::Random, providing utility
    functions to generate nucleotide sequence strings and FASTA-looking
    strings.

    nucleotide strings contain only A/C/G/T (and possibly N) characters.
    FASTA strings are multi-lined nucleotide strings, with the first line
    containing a sequence id (see http://en.wikipedia.org/wiki/FASTA_format)
    .

METHODS
  rand_nuc()
    Returns a string of random nucleotides.

    See `rand_set' in Data::Random for possible parameters (e.g. `size',
    `min', `max').

    If `N' is set, N will be a possible nucleoide. Otherwise - only A/C/G/T
    will be returned.

  rand_wrapped_nuc()
    Returns a multi-lined string of random nucleotides.

    See `rand_nuc' for all possible parameters.

    The returned string will be broken into lines of 70 characeters each.

  rand_fasta()
    Returns a random FASTA string.

    First line begins with a `>' prefix, and a random sequence ID
    (alphanumeric).

    The rest of the lines are random nucleotide strings, wrapped at 70
    characters.

AUTHOR
    Assaf Gordon, `<gordon at cshl.edu>'

TODO
    Finer control over nucleotide composition (currently: completely random)
    Generate FASTQ files
    Support lower-case nucleotides
    generate amino-acid codes

BUGS
    Please report any bugs or feature requests to
    https://github.com/agordon/Data-Random-Nucleotides/issues

SEE ALSO
    BioPerl provides similar functionality
    http://www.bioperl.org/wiki/Random_sequence_generation, but requires
    installing the BioPerl module.

LICENSE AND COPYRIGHT
    Copyright 2012 Assaf Gordon.

    This program is free software; you can redistribute it and/or modify it
    under the terms of either: the GNU General Public License as published
    by the Free Software Foundation; or the Artistic License.

    See http://dev.perl.org/licenses/ for more information.