0 && !preg_match('/^[agctAGCT]+$/', $sequence) ){ $error = 1; } if ( $error == 0 && strlen($sequence) > $MAX_LENGTH ){ $error = 2; } $A = array("single" => "A", "triple" => "Ala", "mol" => 71); $C = array("single" => "C", "triple" => "Cys", "mol" => 103); $D = array("single" => "D", "triple" => "Asp", "mol" => 115 ); $E = array("single" => "E", "triple" => "Glu", "mol" => 129); $F = array("single" => "F", "triple" => "Phe", "mol" => 147.1); $G = array("single" => "G", "triple" => "Gly", "mol" => 57); $H = array("single" => "H", "triple" => "His", "mol" => 137.1); $I = array("single" => "I", "triple" => "Ile", "mol" => 113.1); $K = array("single" => "K", "triple" => "Lys", "mol" => 128.1); $L = array("single" => "L", "triple" => "Leu", "mol" => 113.1); $M = array("single" => "M", "triple" => "Met", "mol" => 131.0); $N = array("single" => "N", "triple" => "Asn", "mol" => 114); $P = array("single" => "P", "triple" => "Pro", "mol" => 97.1); $Q = array("single" => "Q", "triple" => "Gln", "mol" => 128.1); $R = array("single" => "R", "triple" => "Arg", "mol" => 156.1); $S = array("single" => "S", "triple" => "Ser", "mol" => 87); $T = array("single" => "T", "triple" => "Thr", "mol" => 128.1); $V = array("single" => "V", "triple" => "Val", "mol" => 99.1); $W = array("single" => "W", "triple" => "Trp", "mol" => 186.1); $X = array("single" => "X", "triple" => "Stop", "mol" => 0); $Y = array("single" => "Y", "triple" => "Tyr", "mol" => 163.1); $data = array("TTT" => $F, "TTC" => $F, "TTA" => $L, "TTG" => $L, "CTT" => $L, "CTC" => $L, "CTA" => $L, "CTG" => $L, "ATT" => $I,"ATC" => $I,"ATA" => $I,"ATG" => $M, "GTT" => $V,"GTC" => $V,"GTA" => $V,"GTG" => $V, "TCT" => $S,"TCC" => $S,"TCA" => $S,"TCG" => $S, "CCT" => $P,"CCC" => $P,"CCA" => $P,"CCG" => $P, "ACT" => $T,"ACC" => $T,"ACA" => $T,"ACG" => $T, "GCT" => $A,"GCC" => $A,"GCA" => $A,"GCG" => $A, "TAT" => $Y,"TAC" => $Y,"TAA" => $X,"TAG" => $X, "CAT" => $H,"CAC" => $H,"CAA" => $Q,"CAG" => $Q, "AAT" => $N,"AAC" => $N,"AAA" => $K,"AAG" => $K, "GAT" => $D,"GAC" => $D,"GAA" => $E,"GAG" => $E, "TGT" => $C,"TGC" => $C,"TGA" => $X,"TGG" => $W, "CGT" => $R,"CGC" => $R, "CGA" => $R,"CGG" => $R, "AGT" => $S,"AGC" => $S,"AGA" => $R,"AGG" => $R, "GGT" => $G,"GGC" => $G,"GGA" => $G,"GGG" => $G ); $result = array(); if ( $error == 0 && $submitted ){ for ( $i = 0; $i < strlen($sequence); $i += 3 ){ if ( $i + 3 < strlen($sequence) ){ $codon = substr($sequence, $i, 3); array_push($result, $data[$codon]); } } } function printVals($row, $seq, $dnapos, $propos){ echo ''; echo ''.($propos + 1).''; for ( $j = 0; $j < count($row); $j++ ){ $aa = $row[$j]; if ( strcmp($aa['single'], 'X') == 0 ){ echo ''.$aa['single'].''; }elseif( strcmp($aa['single'], 'M') == 0 ){ echo ''.$aa['single'].''; }else{ echo ''.$aa['single'].''; } } echo ''; echo ''; echo ''.($dnapos + 1).''; for ( $j = 0; $j < count($row); $j++ ){ $aa = $row[$j]; echo ''.substr($seq, $j * 3, 3).''; } echo ''; } ?> Translate DNA Sequence To Protein

Translate DNA To Protein

Translates a DNA Sequence to a Protein Sequence. This tool uses the standard Genetic Code to translate in a single phase the input DNA sequence.

Invalid DNA Sequence'; echo '

Input Sequence

'; echo '
'; echo ''; echo ''; echo ''; echo '
'; }elseif ( $error == 2 ){ echo '

Only sequence < '.$MAX_LENGTH.' bp are supported.'; echo '

Input Sequence

'; echo '
'; echo ''; echo ''; echo ''; echo '
'; }else{ //echo '

DNA Sequence

'; //echo '
"; echo '

Protein Sequence Overview:


'; echo ''; $rows = 0; $protein = ''; $row = array(); $i = 0; for ( $i = 0; $i < count($result); $i++ ){ if ( $rows > 12 ){ printVals($row, $sequence, 3* ($i - count($row) ), $i - count($row)); unset($row); $row = array(); echo ''; $rows = 0; } array_push($row, $result[$i]); $protein .= $result[$i]['single']; $rows++; } printVals($row, $sequence, 3* ($i - count($row) ), $i - count($row)); unset($row); echo '

'; echo '

Protein Sequence:


'; echo ''; } }else{ echo '

Input Sequence*

'; echo '
'; echo ''; echo ''; echo ''; echo '

'; echo '

*Limit: '.$MAX_LENGTH.' bp

'; } ?>