The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

GeneDesign::Codons

VERSION

Version 3.05

DESCRIPTION

GeneDesign functions for codon analysis and manipulation

AUTHOR

Sarah Richardson <notadoctor@jhu.edu>.

define_codons

  Generates an array reference that contains every possible nucleotide codon
  out : list of codons (array reference)

define_codon_table()

  Brings into memory a codon table from a file in GeneDesign's configuration
   directory. The table is represented as a hashref, where each key is a three
   letter nucleotide codon and each value is a one letter amino acid residue.
  in: name of a .ct file and the GD config hashref
  out: codon table (hash reference)
  

define_reverse_codon_table()

  Takes a codon table hashref and reverses it such that each key is a one letter
   amino acid residue and each value is an array reference containing all of the
   codons that can code for that residue.
  in: codon table (hash reference)
  out: reverse codon table (hash reference)
  

define_RSCU_values()

  Brings into memory an RSCU table from a file in GeneDesign's configuration
   directory. The table is represented as a hashref, where each key is a three
   letter nucleotide codon and each value is a three digit float.
  in: path to a .rscu file and the GD config hashref
  out: RSCU value table (hash reference)
  

parse_RSCU_values

translate()

  takes a nucleotide sequence, a frame, and a codon table and returns that frame
  translated into amino acids.
  in: nucleotide sequence (string),
      switch for frame (+/-1, +/-2, or +/-3),
      codon table (hash reference)
  out: amino acid sequence (string)
  

reverse_translate()

  takes an amino acid sequence and a specific codon table and returns that frame
  translated into amino acids.  See gdRevTrans.cgi for use.
  in: nucleotide sequence (string),
      switch for frame (1, 2, or 3),
      codon table (hash reference)
  out: amino acid sequence (string)

degcodon_to_aas()

  takes a codon that may be degenerate and a codon table and returns a list of
  all amino acids that codon could represent. If a hashref is provided with
  previous answers, it will run MUCH faster.
  in: codon (string),
      codon table (hash reference)
  out: amino acid list (vector)
  

amb_translation()

  takes a nucleotide that may be degenerate and a codon table and returns a list
  of all amino acid sequences that nucleotide sequence could be translated into.
  in: nucleotide sequence (string),
      codon table (hash reference),
      optional switch to force only a single frame of translation
      optional hashref of previous answers to speed processing
  out: amino acid sequence list (vector)
  

amb_transcription()

  takes a nucleotide sequence that may have ambiguous bases and returns a list
   of all possible non ambiguous nucleotide sequences it could represent
  in: nucleotide sequence (string),
      codon table (hash reference),
      reverse codon table (hash reference)
  out: nucleotide sequence list (vector)

combine

  Basically builds a list of tree nodes for the amb_trans* functions.
  in: 2 x peptide lists (array reference) out: combined list of peptides
  

pattern_finder

pattern_remover()

  takes a nucleotide sequence, a nucleotide "pattern" to be removed, and a few
  codon tables, and returns an edited nucleotide sequence that is missing the
  pattern (if possible).  Ranks codon replacements by RSCU differences to
  minimize expression damage.
  in: nucleotide sequence (string),
      nucleotide pattern (string),
      codon table (hash reference),
      RSCU value table (hash reference)
  out: nucleotide sequence (string) OR null
  

pattern_adder()

  takes a nucleotide sequence, a nucleotide "pattern" to be interpolated, and
  the codon table, and returns an edited nucleotide sequence that contains the
  pattern (if possible).
  in: nucleotide sequence (string),
      nucleotide pattern (string),
      codon table (hash reference),
      RSCU value table (hash reference)
  out: nucleotide sequence (string) OR null
  

is_ORF()

  takes a nucleotide sequence and a codon table and determines whether or not
  the nucleotide sequence is a simple ORF - that is, starts with an ATG codon
  and contains no stop codons in the first frame until the very end.
  in: nucleotide sequence (string),
      codon table (hash reference),
  out: 1 if ORF, 0 if not
  

compareseqs

pattern_aligner()

  takes a nucleotide sequence, a pattern, a peptide sequence, and a codon table
  and inserts Ns before the pattern until they align properly. This is so a
  pattern can be inserted out of frame.
  in: nucleotide sequence (string),
      nucleotide pattern (string),
      amino acid sequence (string),
      codon table (hash reference)
  out: nucleotide pattern (string)
  

change_codons()

  takes a nucleotide sequence and a few codon tables and tries to recode the
  nucleotide sequence to one of four algorithms, 0 random, 1 most optimal,
  2 next most optimal, 3 most different, 4 least different.
  in: nucleotide sequence (string),
      codon table (hash reference),
      reverse codon table (hash reference),
      RSCU value table (hash reference),
      algorithm number
      tag: try not to change the first two bases of the first codon in.
  out: nucleotide sequence (string)
  

sitver

  takes a base as a string and returns by request either a set of transitions
  or a set of transversions, used by change_codons()
  

RSCU_filter()

  Deletes anything from the RSCU_TABLE that doesn't meet minimum RSCU.
  in: rscu table (hash reference),
      minimum RSCU value (integer)
  out: rscu table (hash reference)
  #NO UNIT TEST
  

define_codon_percentages()

  Generates a hash.  KEYS: codons (string)
  VALUES: RSCU value over codon family size (float)
  in: codon table (hash reference),
      RSCU value table (hash reference)
  out: codon percentage table (hash)
  

index_codon_percentages()

  Generates two arrays for x and y values of a graph of codon percentage values.
  in: dna sequence (string),
      window size (integer),
      codon percentage table (hash reference)
  out: x values (array reference), y values (array reference)
  #NO UNIT TEST
  

codon_count()

  takes a reference to an array of sequences and returns a hash with codons as
  keys and the number of times the codon occurs as a value.
  in: gene sequences (array reference)
  out: codon count (hash reference)
  

generate_RSCU_values()

  takes a hash reference with keys as codons and values as number of times
  those codons occur (it helps to use codon_count) and returns a hash with each
  codon and its RSCU value
  in: codon count (hash reference),
      reverse codon table (hash reference)
  out: RSCU values (hash reference)
  

define_aa_defaults()

  Generates a hash.  KEYS: one letter amino acid code (string)
  VALUES: most highly expressed codon for that amino acid (string)
  in: reverse codon table (hash reference),
      RSCU value table (hash reference)
  out: amino acid default table (hash)
  

orf_finder()

minimize_local_alignment_dp()

  Repeatsmasher, by Dongwon Lee. A function that minimizes local alignment
  scores.
  in: gene sequence (string)
      codon table (hashref)
      RSCU table (hashref)
  out: new gene sequence (string)
  #NO UNIT TEST
  

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.