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

Diff of /FigKernelPackages/Subsystem.pm

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

revision 1.131, Sat May 17 13:53:58 2008 UTC revision 1.132, Tue Jun 10 18:46:38 2008 UTC
# Line 1437  Line 1437 
1437    
1438          my($genome, $variant_code, @row) = split(/\t/, $_, $nr + 2);          my($genome, $variant_code, @row) = split(/\t/, $_, $nr + 2);
1439          $variant_code =~ s/ //g;          $variant_code =~ s/ //g;
1440          next if ($seen{$genome} || (! $self->{fig}->is_genome($genome)));          next if ($seen{$genome} || (($genome =~ /^(\d+\.\d+)/) && (! $self->{fig}->is_genome($1))));
1441          $seen{$genome}++;          $seen{$genome}++;
1442    
1443            $genome =~ /^(\d+\.\d+)/;
1444            my $just_genome = $1;
1445    
1446          my $j = 0;          my $j = 0;
1447    
1448          $self->{genome}->[$i] = $genome;          $self->{genome}->[$i] = $genome;
# Line 1458  Line 1461 
1461          {          {
1462              my $entry = $row[$j];              my $entry = $row[$j];
1463  # OLD       my $e2 = [map("fig|$genome.peg.$_", split(/,/, $entry))];  # OLD       my $e2 = [map("fig|$genome.peg.$_", split(/,/, $entry))];
1464              my $e2 = [map { ($_ =~ /^[a-zA-Z]+\.\d+$/) ? "fig|$genome.$_" : "fig|$genome.peg.$_" }              my $e2 = [map { ($_ =~ /^[a-zA-Z]+\.\d+$/) ? "fig|$just_genome.$_" : "fig|$just_genome.peg.$_" }
1465                        split(/,/, $entry)                        split(/,/, $entry)
1466                       ];                       ];
1467              $self->{spreadsheet}->[$i]->[$j] = $e2;              $self->{spreadsheet}->[$i]->[$j] = $e2;
# Line 1502  Line 1505 
1505  #    warn "After add virtual: \n",  Dumper($self), "\n";  #    warn "After add virtual: \n",  Dumper($self), "\n";
1506  }  }
1507    
1508    =head3 in_genome($genome,$peg)
1509    
1510        if ($sub->in_genome($genome,$peg))
1511        {
1512             process a PEG from the genome or region of a genome
1513        }
1514    
1515    Return a boolean: "true" -> PEG falls within the genome or region of a genome
1516    
1517    =over 4
1518    
1519    =item genome
1520    
1521    either \d+\.\d+ (a typical genome ID) OR
1522           \d+\.\d+:Contig_Beg_End
1523    
1524    where Contig is a string of non-whitespace characters
1525          Beg    is an integer
1526          End    is an integer
1527    
1528    =item peg
1529    
1530    ID of the peg we are checking
1531    
1532    =item RETURN
1533    
1534    Returns a boolean
1535    
1536    =back
1537    
1538    =cut
1539    
1540    sub in_genome {
1541        my ($self, $genome,$fid) = @_;
1542    
1543        if ($genome =~ /^(\d+\.\d+)(:(\S+)_(\d+)_(\d+))?$/)
1544        {
1545            my $just_genome = $1;
1546            my($contig,$beg,$end) = $2 ? ($3,$4,$5) : (undef,undef,undef);
1547            my $fidG = &FIG::genome_of($fid);
1548            if (! $contig) { return ($just_genome eq $fidG) }
1549            my $fig = $self->{fig};
1550            my $loc = $fig->feature_location($fid);
1551            my($contig1,$beg1,$end1) = $fig->boundaries_of($fid);
1552            return (($contig1 eq $contig) &&
1553                    &FIG::between($beg,$beg1,$end) &&
1554                    &FIG::between($beg,$end1,$end));
1555        }
1556        else
1557        {
1558            return 0;
1559        }
1560    }
1561    
1562  =head3 get_peg_roles  =head3 get_peg_roles
1563    
1564      my @cols = $sub->get_peg_roles($peg);      my @cols = $sub->get_peg_roles($peg);
# Line 2268  Line 2325 
2325      for (my $i = 0; $i < @{$self->{genome}}; $i++)      for (my $i = 0; $i < @{$self->{genome}}; $i++)
2326      {      {
2327          my $gid = $self->{genome}->[$i];          my $gid = $self->{genome}->[$i];
2328            $gid =~ s/:.*$//;
2329    
2330          my $gs = $fig->genus_species($gid);          my $gs = $fig->genus_species($gid);
2331    
2332          my $q = quotemeta($gid);          my $q = quotemeta($gid);

Legend:
Removed from v.1.131  
changed lines
  Added in v.1.132

MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3