Difference between revisions of "AminoAcidColours.pl"
m |
(Adding useful lookup tables) |
||
| Line 147: | Line 147: | ||
${$params->{'motif'}} =~ s/([@{[join "",keys %{$residue_color_schemes ->{$params->{schema}}}]}])/<font color=\"$residue_color_schemes->{$params->{schema}}->{$1}\" class="est">$1<\/font>/g; | ${$params->{'motif'}} =~ s/([@{[join "",keys %{$residue_color_schemes ->{$params->{schema}}}]}])/<font color=\"$residue_color_schemes->{$params->{schema}}->{$1}\" class="est">$1<\/font>/g; | ||
| + | } | ||
| + | |||
| + | |||
| + | # ------------------------- Other useful lookup tables -------------------------- # | ||
| + | # Source: http://examples.oreilly.com/begperlbio/ | ||
| − | + | ||
| + | my %three2one = ( | ||
| + | 'ALA' => 'A', | ||
| + | 'VAL' => 'V', | ||
| + | 'LEU' => 'L', | ||
| + | 'ILE' => 'I', | ||
| + | 'PRO' => 'P', | ||
| + | 'TRP' => 'W', | ||
| + | 'PHE' => 'F', | ||
| + | 'MET' => 'M', | ||
| + | 'GLY' => 'G', | ||
| + | 'SER' => 'S', | ||
| + | 'THR' => 'T', | ||
| + | 'TYR' => 'Y', | ||
| + | 'CYS' => 'C', | ||
| + | 'ASN' => 'N', | ||
| + | 'GLN' => 'Q', | ||
| + | 'LYS' => 'K', | ||
| + | 'ARG' => 'R', | ||
| + | 'HIS' => 'H', | ||
| + | 'ASP' => 'D', | ||
| + | 'GLU' => 'E', | ||
| + | ); | ||
| + | |||
| + | my(%genetic_code) = ( | ||
| + | |||
| + | 'TCA' => 'S', # Serine | ||
| + | 'TCC' => 'S', # Serine | ||
| + | 'TCG' => 'S', # Serine | ||
| + | 'TCT' => 'S', # Serine | ||
| + | 'TTC' => 'F', # Phenylalanine | ||
| + | 'TTT' => 'F', # Phenylalanine | ||
| + | 'TTA' => 'L', # Leucine | ||
| + | 'TTG' => 'L', # Leucine | ||
| + | 'TAC' => 'Y', # Tyrosine | ||
| + | 'TAT' => 'Y', # Tyrosine | ||
| + | 'TAA' => '_', # Stop | ||
| + | 'TAG' => '_', # Stop | ||
| + | 'TGC' => 'C', # Cysteine | ||
| + | 'TGT' => 'C', # Cysteine | ||
| + | 'TGA' => '_', # Stop | ||
| + | 'TGG' => 'W', # Tryptophan | ||
| + | 'CTA' => 'L', # Leucine | ||
| + | 'CTC' => 'L', # Leucine | ||
| + | 'CTG' => 'L', # Leucine | ||
| + | 'CTT' => 'L', # Leucine | ||
| + | 'CCA' => 'P', # Proline | ||
| + | 'CCC' => 'P', # Proline | ||
| + | 'CCG' => 'P', # Proline | ||
| + | 'CCT' => 'P', # Proline | ||
| + | 'CAC' => 'H', # Histidine | ||
| + | 'CAT' => 'H', # Histidine | ||
| + | 'CAA' => 'Q', # Glutamine | ||
| + | 'CAG' => 'Q', # Glutamine | ||
| + | 'CGA' => 'R', # Arginine | ||
| + | 'CGC' => 'R', # Arginine | ||
| + | 'CGG' => 'R', # Arginine | ||
| + | 'CGT' => 'R', # Arginine | ||
| + | 'ATA' => 'I', # Isoleucine | ||
| + | 'ATC' => 'I', # Isoleucine | ||
| + | 'ATT' => 'I', # Isoleucine | ||
| + | 'ATG' => 'M', # Methionine | ||
| + | 'ACA' => 'T', # Threonine | ||
| + | 'ACC' => 'T', # Threonine | ||
| + | 'ACG' => 'T', # Threonine | ||
| + | 'ACT' => 'T', # Threonine | ||
| + | 'AAC' => 'N', # Asparagine | ||
| + | 'AAT' => 'N', # Asparagine | ||
| + | 'AAA' => 'K', # Lysine | ||
| + | 'AAG' => 'K', # Lysine | ||
| + | 'AGC' => 'S', # Serine | ||
| + | 'AGT' => 'S', # Serine | ||
| + | 'AGA' => 'R', # Arginine | ||
| + | 'AGG' => 'R', # Arginine | ||
| + | 'GTA' => 'V', # Valine | ||
| + | 'GTC' => 'V', # Valine | ||
| + | 'GTG' => 'V', # Valine | ||
| + | 'GTT' => 'V', # Valine | ||
| + | 'GCA' => 'A', # Alanine | ||
| + | 'GCC' => 'A', # Alanine | ||
| + | 'GCG' => 'A', # Alanine | ||
| + | 'GCT' => 'A', # Alanine | ||
| + | 'GAC' => 'D', # Aspartic Acid | ||
| + | 'GAT' => 'D', # Aspartic Acid | ||
| + | 'GAA' => 'E', # Glutamic Acid | ||
| + | 'GAG' => 'E', # Glutamic Acid | ||
| + | 'GGA' => 'G', # Glycine | ||
| + | 'GGC' => 'G', # Glycine | ||
| + | 'GGG' => 'G', # Glycine | ||
| + | 'GGT' => 'G', # Glycine | ||
| + | ); | ||
| + | |||
| + | my %iub2character_class = ( | ||
| + | |||
| + | A => 'A', | ||
| + | C => 'C', | ||
| + | G => 'G', | ||
| + | T => 'T', | ||
| + | R => '[GA]', | ||
| + | Y => '[CT]', | ||
| + | M => '[AC]', | ||
| + | K => '[GT]', | ||
| + | S => '[GC]', | ||
| + | W => '[AT]', | ||
| + | B => '[CGT]', | ||
| + | D => '[AGT]', | ||
| + | H => '[ACT]', | ||
| + | V => '[ACG]', | ||
| + | N => '[ACGT]', | ||
| + | ); | ||
Revision as of 19:51, 24 May 2007
- {{#Security: *|Sven}}Our Perl scripts.
sub colorise_peptide {
my $params = {motif => ,
schema => $form_data{"-schema"} || 'accessible_area', blocks => 0, start => 1, @_};
unless(ref $params->{'motif'} eq 'SCALAR')
{
&return_html_error('title_text' => 'INTERNAL ERROR', 'error_msg' => qq|&nucleotide_colors subroutine variable 'motif' requires a SCALAR reference as input|); exit 0;
}
my $residue_color_schemes =
{
'accessible_area' =>
{
'C' => '#FF66FF', # pink 'I' => '#FF3300', # red 'G' => '#FF3300', # red 'V' => '#FF3300', # red 'A' => '#9900CC', # purple 'F' => '#9900CC', # purple 'L' => '#9900CC', # purple 'M' => '#9900CC', # purple 'H' => '#999900', # olive 'S' => '#999900', # olive 'T' => '#999900', # olive 'W' => '#999900', # olive 'P' => '#996600', # brown 'D' => '#3399FF', # skyblue 'N' => '#3399FF', # skyblue 'Y' => '#3399FF', # skyblue 'E' => '#0000FF', # blue 'Q' => '#0000FF', # blue 'R' => '#990000', 'K' => '#999999', # gray }, 'standard_area' => { 'G' => '#FF66FF', # pink 'A' => '#FF3300', # red 'S' => '#FF3300', # red 'C' => '#9900CC', # purple 'P' => '#9900CC', # purple 'D' => '#999900', # olive 'N' => '#999900', # olive 'T' => '#999900', # olive 'V' => '#999900', # olive 'E' => '#996600', # brown 'I' => '#996600', # brown 'H' => '#3399FF', # skyblue 'L' => '#3399FF', # skyblue 'M' => '#3399FF', # skyblue 'Q' => '#3399FF', # skyblue 'F' => '#0000FF', # blue 'K' => '#0000FF', # blue 'Y' => '#990000', 'R' => '#999999', # gray 'W' => '#999999', # gray }, 'hydropathy' =>
{
'D' => '#FF0000', 'E' => '#FF0000', 'H' => '#0000FF', 'K' => '#0000FF', 'R' => '#0000FF', 'C' => '#FF9900', 'G' => '#FF9900', 'N' => '#FF9900', 'Q' => '#FF9900', 'S' => '#FF9900', 'T' => '#FF9900', 'Y' => '#FF9900', 'A' => '#339900', 'F' => '#339900', 'I' => '#339900', 'L' => '#339900', 'M' => '#339900', 'P' => '#339900', 'V' => '#339900', 'W' => '#339900', }, 'charge' =>
{
'D' => '#FF0000', 'E' => '#FF0000', 'H' => '#0000FF', 'K' => '#0000FF', 'R' => '#0000FF', },
'chemical' =>
{
'D' => '#FF0000', # 'E' => '#FF0000', # 'H' => '#0000FF', # 'K' => '#0000FF', # 'R' => '#0000FF', # 'A' => '#9900CC', # purple 'G' => '#9900CC', # purple 'I' => '#9900CC', # purple 'L' => '#9900CC', # purple 'V' => '#9900CC', # purple 'N' => '#999900', # olive 'Q' => '#999900', # olive 'F' => '#996600', # brown 'W' => '#996600', # brown 'Y' => '#996600', # brown 'S' => '#3399FF', # skyblue 'T' => '#3399FF', # skyblue 'P' => '#990000', 'C' => '#999999', # gray 'M' => '#999999', # gray }, 'structure' => { 'D' => '#FF9900', 'E' => '#FF9900', 'H' => '#FF9900', 'K' => '#FF9900', 'N' => '#FF9900', 'Q' => '#FF9900', 'R' => '#FF9900', 'F' => '#339900', 'I' => '#339900', 'L' => '#339900', 'M' => '#339900', 'V' => '#339900', 'A' => '#3399FF', # skyblue 'C' => '#3399FF', # skyblue 'G' => '#3399FF', # skyblue 'P' => '#3399FF', # skyblue 'S' => '#3399FF', # skyblue 'T' => '#3399FF', # skyblue 'W' => '#3399FF', # skyblue 'Y' => '#3399FF', # skyblue },
};
if($params->{blocks})
{
${$params->{motif}} =~s/(\w{$params->{blocks}})/$1 /g;
}
${$params->{'motif'}} =~ s/([@{[join "",keys %{$residue_color_schemes ->{$params->{schema}}}]}])/{$params->{schema}}->{$1}\" class="est">$1<\/font>/g; }
- ------------------------- Other useful lookup tables -------------------------- #
- Source: http://examples.oreilly.com/begperlbio/
my %three2one = (
'ALA' => 'A',
'VAL' => 'V',
'LEU' => 'L',
'ILE' => 'I',
'PRO' => 'P',
'TRP' => 'W',
'PHE' => 'F',
'MET' => 'M',
'GLY' => 'G',
'SER' => 'S',
'THR' => 'T',
'TYR' => 'Y',
'CYS' => 'C',
'ASN' => 'N',
'GLN' => 'Q',
'LYS' => 'K',
'ARG' => 'R',
'HIS' => 'H',
'ASP' => 'D',
'GLU' => 'E',
);
my(%genetic_code) = ( 'TCA' => 'S', # Serine 'TCC' => 'S', # Serine 'TCG' => 'S', # Serine 'TCT' => 'S', # Serine 'TTC' => 'F', # Phenylalanine 'TTT' => 'F', # Phenylalanine 'TTA' => 'L', # Leucine 'TTG' => 'L', # Leucine 'TAC' => 'Y', # Tyrosine 'TAT' => 'Y', # Tyrosine 'TAA' => '_', # Stop 'TAG' => '_', # Stop 'TGC' => 'C', # Cysteine 'TGT' => 'C', # Cysteine 'TGA' => '_', # Stop 'TGG' => 'W', # Tryptophan 'CTA' => 'L', # Leucine 'CTC' => 'L', # Leucine 'CTG' => 'L', # Leucine 'CTT' => 'L', # Leucine 'CCA' => 'P', # Proline 'CCC' => 'P', # Proline 'CCG' => 'P', # Proline 'CCT' => 'P', # Proline 'CAC' => 'H', # Histidine 'CAT' => 'H', # Histidine 'CAA' => 'Q', # Glutamine 'CAG' => 'Q', # Glutamine 'CGA' => 'R', # Arginine 'CGC' => 'R', # Arginine 'CGG' => 'R', # Arginine 'CGT' => 'R', # Arginine 'ATA' => 'I', # Isoleucine 'ATC' => 'I', # Isoleucine 'ATT' => 'I', # Isoleucine 'ATG' => 'M', # Methionine 'ACA' => 'T', # Threonine 'ACC' => 'T', # Threonine 'ACG' => 'T', # Threonine 'ACT' => 'T', # Threonine 'AAC' => 'N', # Asparagine 'AAT' => 'N', # Asparagine 'AAA' => 'K', # Lysine 'AAG' => 'K', # Lysine 'AGC' => 'S', # Serine 'AGT' => 'S', # Serine 'AGA' => 'R', # Arginine 'AGG' => 'R', # Arginine 'GTA' => 'V', # Valine 'GTC' => 'V', # Valine 'GTG' => 'V', # Valine 'GTT' => 'V', # Valine 'GCA' => 'A', # Alanine 'GCC' => 'A', # Alanine 'GCG' => 'A', # Alanine 'GCT' => 'A', # Alanine 'GAC' => 'D', # Aspartic Acid 'GAT' => 'D', # Aspartic Acid 'GAA' => 'E', # Glutamic Acid 'GAG' => 'E', # Glutamic Acid 'GGA' => 'G', # Glycine 'GGC' => 'G', # Glycine 'GGG' => 'G', # Glycine 'GGT' => 'G', # Glycine );
my %iub2character_class = (
A => 'A',
C => 'C',
G => 'G',
T => 'T',
R => '[GA]',
Y => '[CT]',
M => '[AC]',
K => '[GT]',
S => '[GC]',
W => '[AT]',
B => '[CGT]',
D => '[AGT]',
H => '[ACT]',
V => '[ACG]',
N => '[ACGT]',
);



