BioPHP - Translate codon
Original code submitted by josebaCode bellow is covered by GNU GPL v2 license.
Description
Last change: 2010/10/18 17:04 | Edit description | Recent Changes | Original descriptionTranslate a codon to correspondin aminoacid. If $format=3, a three letter aminoacid named is obtained. If $format=1, a one letter aminoacid named is obtained
Code
Last change: 2010/10/18 17:04 | Edit Code | Recent Changes | Download | Original codefunction translate_codon($codon, $format)
{
if (($format != 3) and ($format != 1)) die("Invalid format parameter.");
if (strlen($codon) < 3)
if ($format == 3) return "XXX";
else return "X";
$codon = strtoupper($codon);
$codon = ereg_replace("T", "U", $codon);
$letter1 = substr($codon, 0, 1);
$letter2 = substr($codon, 1, 1);
$letter3 = substr($codon, 2, 1);
if ($format == 3)
{ // OPENS if ($format == 3)
if ($letter1 == "U")
{ // OPENS if ($letter1 == "U")
if ($letter2 == "U")
{
if ($letter3 == "U") return "Phe";
elseif ($letter3 == "C") return "Phe";
elseif ($letter3 == "A") return "Leu";
elseif ($letter3 == "G") return "Leu";
}
if ($letter2 == "C") return "Ser";
if ($letter2 == "A")
{
if ($letter3 == "U") return "Tyr";
elseif ($letter3 == "C") return "Tyr";
elseif ($letter3 == "A") return "STP";
elseif ($letter3 == "G") return "STP";
}
if ($letter2 == "G")
{
if ($letter3 == "U") return "Cys";
elseif ($letter3 == "C") return "Cys";
elseif ($letter3 == "A") return "STP";
elseif ($letter3 == "G") return "Trp";
}
} // CLOSES if ($letter1 == "U")
// Code to handle 3-letter codon strings that start with "C".
if ($letter1 == "C")
{
if ($letter2 == "U")
{
return "Leu";
}
if ($letter2 == "C")
{
return "Pro";
}
if ($letter2 == "A")
{
if ($letter3 == "U")
{
return "His";
}
elseif ($letter3 == "C")
{
return "His";
}
elseif ($letter3 == "A")
{
return "Gln";
}
elseif ($letter3 == "G")
{
return "Gln";
}
}
if ($letter2 == "G")
{
return "Arg";
}
}
// Code to handle 3-letter codon strings that start with "A".
if ($letter1 == "A")
{
if ($letter2 == "U")
{
if ($letter3 == "G") { return "Met"; }
else { return "Ile"; }
}
if ($letter2 == "C")
{
return "Thr";
}
if ($letter2 == "A")
{
if ($letter3 == "U")
{
return "Asn";
}
elseif ($letter3 == "C")
{
return "Asn";
}
elseif ($letter3 == "A")
{
return "Lys";
}
elseif ($letter3 == "G")
{
return "Lys";
}
}
if ($letter2 == "G")
{
if ($letter3 == "U")
{
return "Ser";
}
elseif ($letter3 == "C")
{
return "Ser";
}
elseif ($letter3 == "A")
{
return "Arg";
}
elseif ($letter3 == "G")
{
return "Arg";
}
}
}
// Code to handle 3-letter codon strings that start with "G".
if ($letter1 == "G")
{
if ($letter2 == "U")
return "Val";
if ($letter2 == "C")
return "Ala";
if ($letter2 == "A")
{
if ($letter3 == "U")
return "Asp";
elseif ($letter3 == "C")
return "Asp";
elseif ($letter3 == "A")
return "Glu";
elseif ($letter3 == "G")
return "Glu";
}
if ($letter2 == "G")
{
return "Gly";
}
}
} // CLOSES if ($format == 3)
elseif ($format == 1)
{ // OPENS elseif ($format == 1)
if ($letter1 == "U")
{ // OPENS if ($letter1 == "U")
if ($letter2 == "U")
{
if ($letter3 == "U")
return "F";
elseif ($letter3 == "C")
return "F";
elseif ($letter3 == "A")
return "L";
elseif ($letter3 == "G")
return "L";
}
if ($letter2 == "C")
return "S";
if ($letter2 == "A")
{
if ($letter3 == "U")
return "Y";
elseif ($letter3 == "C")
return "Y";
elseif ($letter3 == "A")
return "*";
elseif ($letter3 == "G")
return "*";
}
if ($letter2 == "G")
{
if ($letter3 == "U")
return "C";
elseif ($letter3 == "C")
return "C";
elseif ($letter3 == "A")
return "*";
elseif ($letter3 == "G")
return "W";
}
} // CLOSES if ($letter1 == "U")
// Code to handle 3-letter codon strings that start with "C".
if ($letter1 == "C")
{ // OPENS if ($letter1 == "C")
if ($letter2 == "U")
return "L";
if ($letter2 == "C")
return "P";
if ($letter2 == "A")
{
if ($letter3 == "U")
return "H";
elseif ($letter3 == "C")
return "H";
elseif ($letter3 == "A")
return "Q";
else return "Q";
}
if ($letter2 == "G")
return "R";
} // CLOSES if ($letter1 == "C")
// Code to handle 3-letter codon strings that start with "A".
if ($letter1 == "A")
{ // OPENS if ($letter1 == "A")
if ($letter2 == "U")
{
if ($letter3 == "G") { return "M"; }
else { return "I"; }
}
if ($letter2 == "C")
{
return "T";
}
if ($letter2 == "A")
{
if ($letter3 == "U")
return "N";
elseif ($letter3 == "C")
return "N";
elseif ($letter3 == "A")
return "K";
elseif ($letter3 == "G")
return "K";
}
if ($letter2 == "G")
{
if ($letter3 == "U")
return "S";
elseif ($letter3 == "C")
return "S";
elseif ($letter3 == "A")
return "R";
elseif ($letter3 == "G")
return "R";
}
} // CLOSES if ($letter == "A")
// Code to handle 3-letter codon strings that start with "G".
if ($letter1 == "G")
{ // OPENS if ($letter1 == "G")
if ($letter2 == "U")
return "V";
if ($letter2 == "C")
return "A";
if ($letter2 == "A")
{
if ($letter3 == "U")
return "D";
elseif ($letter3 == "C")
return "D";
elseif ($letter3 == "A")
return "E";
elseif ($letter3 == "G")
return "E";
}
if ($letter2 == "G") return "G";
} // CLOSES if ($letter1 == "G")
} // CLOSES elseif ($format == 3)
return "X";
} // CLOSES function translate_codon()