[Bio] / FigKernelPackages / FIG.pm Repository:
ViewVC logotype

Diff of /FigKernelPackages/FIG.pm

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.250, Sat Mar 19 01:27:13 2005 UTC revision 1.251, Sun Mar 20 22:26:16 2005 UTC
# Line 4277  Line 4277 
4277          @lines = grep { ( abs( $_->[9] - $_->[8] ) + 1 ) >= ( $thresh * $_->[13] ) } @lines;          @lines = grep { ( abs( $_->[9] - $_->[8] ) + 1 ) >= ( $thresh * $_->[13] ) } @lines;
4278      }      }
4279    
4280      #  Order the surviving raw sims by requested score:      #  Order the surviving raw sims by requested criterion:
4281    
4282      if    ( $sort_by eq 'id' )                        # Percent identity      if    ( $sort_by eq 'id' )                        # Percent identity
4283      {      {
4284          @lines = sort { $b->[2] <=> $a->[2] } @lines;          @lines = sort { $b->[2] <=> $a->[2] } @lines;
4285      }      }
4286    
4287        elsif ( $sort_by eq 'id2' )                       # Percent identity adjusted
4288        {
4289            #  Lower percent identity by 2 standard deviations to prevent random
4290            #  fluctuation in short sequences from moving them up so often.
4291    
4292            my ( $p, $len, $sigma );
4293            @lines = map  { $_->[0] }
4294                     sort { $b->[1] <=> $a->[1] }
4295                     map  { $p = 0.01 * $_->[2];                 # fraction identity
4296                            $len = abs( $_->[7] - $_->[6] ) + 1; # seq len
4297                            $sigma = sqrt( $p * ( 1 - $p ) / $len ); # binomial sigma
4298                            [ $_, $_->[2] - 200 * $sigma ]
4299                          }
4300                     @lines;
4301        }
4302    
4303      elsif ( $sort_by eq 'bpp' )                       # Bits per position      elsif ( $sort_by eq 'bpp' )                       # Bits per position
4304      {      {
4305          @lines = map  { $_->[0] }          @lines = map  { $_->[0] }
# Line 4290  Line 4307 
4307                   map  { [ $_, $_->[11] / abs( $_->[7] - $_->[6] ) ] }                   map  { [ $_, $_->[11] / abs( $_->[7] - $_->[6] ) ] }
4308                   @lines;                   @lines;
4309      }      }
4310    
4311        elsif ( $sort_by eq 'bpp2' )                      # Bits per position adjusted
4312        {
4313            #  Lower score by 2 standard deviations to prevent random
4314            #  fluctuation in short sequences from moving them up so often.
4315    
4316            my ( $bpp, $len, $sigma );
4317            @lines = map  { $_->[0] }
4318                     sort { $b->[1] <=> $a->[1] }
4319                     map  { $len = abs( $_->[7] - $_->[6] ) + 1; # seq len
4320                            $bpp = $_->[11] / $len;              # bit per pos
4321                            $sigma = 2.5 * sqrt( 1 / $len );  # simple estimate
4322                            [ $_, $bpp - 2 * $sigma ]
4323                          }
4324                     @lines;
4325        }
4326    
4327      else                                                 # Bit score (bits)      else                                                 # Bit score (bits)
4328      {      {
4329          @lines = sort { $b->[11] <=> $a->[11] } @lines;          @lines = sort { $b->[11] <=> $a->[11] } @lines;

Legend:
Removed from v.1.250  
changed lines
  Added in v.1.251

MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3