Login | Register

Info | Home

BioPHP - Translate codon

Original code submitted by joseba
Code bellow is covered by GNU GPL v2 license.

Description

Last change: 2010/10/18 17:04 | Edit description | Recent Changes | Original description
Translate 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 code
function 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()