[Bio] / FigKernelScripts / split_sequences_into_sets.pl Repository:
ViewVC logotype

Diff of /FigKernelScripts/split_sequences_into_sets.pl

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

revision 1.3, Sun Aug 23 18:40:43 2009 UTC revision 1.5, Tue Aug 25 16:30:16 2009 UTC
# Line 89  Line 89 
89      if (! $seen{$central_id})      if (! $seen{$central_id})
90      {      {
91    
92          my $set = &extract_set($central_id,\%conn,\%seen);          my $set = &extract_set($central_id,\%conn,\%seen,\%seq_of);
93          print SZ join("\t",($n,scalar @$set)),"\n";          print SZ join("\t",($n,scalar @$set)),"\n";
94    
95          push(@sets,[$n,$set]);          push(@sets,[$n,$set]);
# Line 122  Line 122 
122  }  }
123    
124  sub extract_set {  sub extract_set {
125      my($central_id,$conn,$seen) = @_;      my($central_id,$conn,$seen,$seq_of) = @_;
126    
127        my $center_length = length($seq_of->{$central_id});
128      my $cluster = [$central_id];      my $cluster = [$central_id];
129      my %in      = ($central_id,1);      my %in      = ($central_id,1);
130    
# Line 134  Line 135 
135          $i++;          $i++;
136          foreach my $peg (@$x)          foreach my $peg (@$x)
137          {          {
138              if (! $in{$peg})              if ((! $in{$peg}) && (! $seen->{$peg}))
139                {
140                    my $len = length($seq_of->{$peg});
141                    if ((abs($center_length - $len) / $center_length) <= (1 - $frac_cov))
142              {              {
143                  push(@$cluster,$peg);                  push(@$cluster,$peg);
144                  $in{$peg} = 1;                  $in{$peg} = 1;
145              }              }
146          }          }
147      }      }
148        }
149      return $cluster;      return $cluster;
150  }  }
151    

Legend:
Removed from v.1.3  
changed lines
  Added in v.1.5

MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3