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

Diff of /FigKernelPackages/PickFeatureSet.pm

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

revision 1.1, Fri Mar 27 18:32:48 2009 UTC revision 1.2, Fri Mar 27 23:45:01 2009 UTC
# Line 133  Line 133 
133  }  }
134    
135    
136  #  Calculate score for following  #  Calculate spacer score
137    
138  sub spacer_score  sub spacer_score
139  {  {
140      my ( $fr1, $r1, $fr2, $l2, $max_sp_scr, $max_overlap, $sp_decay ) = @_;      my ( $fr1, $r1, $fr2, $l2, $max_sp_scr, $max_overlap, $sp_decay ) = @_;
141      my $ideal = $fr1 > 0 ? ( $fr2 > 0 ?   5 : 100 )   # same    : converge  
142                           : ( $fr2 > 0 ? 100 :   5 );  # diverge : same      my $space = ( $l2 - $r1 ) - 1;
143      my $x = $r1 - $l2 + 1 + $ideal;    # amount less than ideal space      my ( $min_opt, $max_opt );   #  Range of optimal gene spacings
144      $max_sp_scr * ( ( $x >= 0 ) ? 1 - $x / ( $max_overlap + $ideal )  
145                                  : exp( $x / $sp_decay )      #  Convergent
146                    );      if    ( $fr1 > 0 && $fr2 < 0 )
147        {
148            $min_opt =  20;
149            $max_opt = 120;
150        }
151        #  Divergent
152        elsif ( $fr1 < 0 && $fr2 > 0 )
153        {
154            $min_opt =  50;
155            $max_opt = 150;
156        }
157        #  Same direction
158        else
159        {
160            $min_opt =  -4;
161            $max_opt = 150;
162        }
163    
164        if    ( $space < $min_opt )
165        {
166            return $max_sp_scr * ( 1 - ( $min_opt - $space ) / $max_overlap );
167        }
168        elsif ( $space > $max_opt )
169        {
170            return $max_sp_scr * exp( ( $max_opt - $space ) / $sp_decay );
171        }
172        else
173        {
174            return $max_sp_scr;
175        }
176  }  }
177    
178  1;  1;

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.2

MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3