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
DNA Translator
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 '
';
}elseif ( $error == 2 ){
echo '
Only sequence < '.$MAX_LENGTH.' bp are supported.';
echo '
Input Sequence
';
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 '
*Limit: '.$MAX_LENGTH.' bp
';
}
?>