AminoAcidColours.pl

From Organic Design wiki
Revision as of 19:42, 24 May 2007 by Sven (talk | contribs)
  1. {{#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;

}