NAME

GeneDesign::Basic - perl functions for computer assisted synthetic design

VERSION

Version 3.00

DESCRIPTION

GeneDesign is a library for the computer-assisted design of synthetic genes

Functions

make_oligos() takes a nucleotide sequence from a Chunk object and breaks it into oligos. A hash reference provides all of the options, like target subchunk length, oligo number, oligo length, etc. returns all oligos on one strand!!!!!!!!!! in: Chunk (struct), Options (hash reference) out: hashref

compare_sequences() takes two nucleotide sequences that are assumed to be perfectly aligned and roughly equivalent and returns similarity metrics. should be twweeaakkeedd in: 2x nucleotide sequence (string) out: similarity metrics (hash)

count() takes a nucleotide sequence and returns a base count. Looks for total length, purines, pyrimidines, and degenerate bases. If degenerate bases are present assumes their substitution for non degenerate bases is totally random for percentage estimation. in: nucleotide sequence (string), out: base count (hash)

ntherm() takes a nucleotide sequence and returns entropy, enthalpy, and free energy. in: nucleotide sequence (string) out: (array of integers) entropy enthalpy free energy

compareseqs() takes nucleotide sequences and returns 1 if either could be said to be a perfect or degenerate copy of the other in: 2x nucleotide sequence (string) out: 1 OR 0

regres() takes a sequence that may be degenerate and returns a string that is prepped for use in a regular expression. in: sequence (string), switch for aa or nt sequence (1 or null) out: regexp string (string)

complement() takes a nucleotide sequence and returns its complement or reverse complement. in: nucleotide sequence (string), switch for reverse complement (1 or null) out: nucleotide sequence (string)

melt() takes a nucleotide sequence and returns a melting temperature. Has four different formulas: 1 simple, 2 baldwin, 3 primer3, or 4 nntherm in: nucleotide sequence (string), formula number, salt concentration (string, opt, def =.05), oligo concentration (string, opt, def = .0000001) out: temperature (string)

cleanup() takes a sequence and attempts to remove extraneous information. in: nucleotide sequence (string), switch for sequence type (0 strict nt, 1 degenerate nt, or 2 aa) out: nucleotide sequence (string)

oligocruncher() takes a nucleotide sequence from a Chunk object and breaks it into oligos. A hash reference provides all of the options, like target subchunk length, oligo number, oligo length, etc in: Chunk (struct) Options (hash reference) out: nothing (modifies Chunk (struct))

orf_finder()

define_oligos()

fasta_parser()

cons_seq()

fasta_writer()

AUTHOR

Sarah Richardson <notadoctor@jhu.edu>.

COPYRIGHT AND LICENSE

Copyright (c) 2011, GeneDesign developers All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of the Johns Hopkins nor the names of the developers may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.