The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Bio::Tools::DNAGen - Generating a pool of DNA sequences

SYNOPSIS

  use Bio::Tools::DNAGen;
  $gen = Bio::Tools::DNAGen;

  $gen->set_gcratio(50);

  $gen->set_prefix('acgt');

  $gen->getseq($len) for 1..10;

DESCRIPTION

This module is a tool for generating a pool of DNA sequences which meet some logical and physical requirements such as uniqueness, melting temperature and GC ratio. When you have set the parameters, this module will create an array of sequences for you.

USAGE

new

Constructor.

You may specify all the parameters here.

 $gen = Bio::Tools::DNAGen->new(
                                gcratio => 50,
                                mt => 30,
                                limit => 10,
                                prefix => 'acgt',
                                len => 10,
                                );

set_gcratio

Setting for the GC ratio.

You can give it a specific value, like

    $gen->set_gcratio(50);

or an array to say a range

    $gen->set_gcratio([40, 60]);

    # or

    $gen->set_gcratio(40, 60);

Default is 'undef', which means gc-ratio is not related to sequence selection.

set_mt

Setting for the melting temperature. For now, Wallace formula is adopted for calculation.

You can give it a specific value, like

    $gen->set_mt(30);

or an array to say a range

    $gen->set_mt([20, 30]);

    # or

    $gen->set_mt(20, 30);

Default is 'undef', which means melting temperature is not related to sequence selection.

set_len

    $gen->set_len(15);

Setting for the length of sequences to be generated.

Default is '10'.

set_prefix

    $gen->set_prefix('acgt');

Setting for the common prefix of sequences to be generated.

Default is a random prefix of length 4 composed of qw/a c g t/, and all the substrings of prefix's length in generated sequences will be checked for their uniqueness.

set_limit

    $gen->set_limit(20);

Setting for the number of sequences to be generated.

Default is '1'.

genseq

    print join $/, $gen->genseq;

Generating DNA sequences that meet your requirements.

EXPORTS

This module also automatically exports two utilities.

calc_gcratio

    print calc_gcratio($seq);

It returns the GC ratio of $seq

calc_mt

    print calc_mt($seq);

It returns the melting temperature of $seq

SEE ALSO

DNASequenceGenerator: A Program for the Construction of DNA Sequences by Udo Feldkamp, Sam Saghafi, Wolfgang Banzhaf, and Rauhe

COPYRIGHT

xern <xern@cpan.org>

This module is free software; you can redistribute it or modify it under the same terms as Perl itself.