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

Diff of /FigKernelPackages/raelib.pm

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

revision 1.13, Wed May 4 03:07:23 2005 UTC revision 1.15, Tue May 24 23:53:24 2005 UTC
# Line 95  Line 95 
95   my $linecount;   my $linecount;
96   while (<IN>) {   while (<IN>) {
97    $linecount++;    $linecount++;
98    unless ($linecount % 10000) {print STDERR "Correspondence of $linecount lines calculated\n"}    if ($verbose && !($linecount % 10000))  {print STDERR "Parsed $linecount lines\n"}
99    if (/^>/) {print OUT; next}    if (/^>/) {print OUT; next}
100    chomp;    chomp;
101    my $done;    foreach my $peg ($self->swiss_pir_ids($_)) {
   foreach my $peg ($fig->by_alias("uni|$_")) {  
102     print OUT $_, "\t", $peg, "\n";     print OUT $_, "\t", $peg, "\n";
    $done=1;  
103    }    }
   unless ($done) {  
    foreach my $peg ($fig->by_alias("tr|$_")) {  
     print OUT $_, "\t", $peg, "\n";  
     $done=1;  
104     }     }
105     close IN;
106     close OUT;
107     return $linecount;
108    }    }
109    unless ($done) {  
110     foreach my $peg ($fig->by_alias("sp|$_")) {  =head2 uniprotcorrespondence
111      print OUT $_, "\t", $peg, "\n";  
112      $done=1;  Generate a correspondence table between uniprot knowledge base IDs and FIG ID's.
113    
114    The uniprot KB file is in the form:  UniProtKB_Primary_Accession | UniProtKB_ID | Section | Protein Name
115    
116     This method takes three arguments:
117       from    : uniprotKB file
118       to      : file to write information to
119       verbose : report on progress
120    
121     Returns the number of lines in the pirsinfo file that were read.
122    
123    =cut
124    
125    sub uniprotcorrespondence {
126     my ($self, $from, $to, $verbose)=@_;
127     unless (-e $from) {
128      print STDERR "File $from does not exist as called in $0\n";
129      return 0;
130     }     }
131     open (IN, $from) || die "Can't open $from";
132     open (OUT, ">$to") || die "Can't write to $to";
133     my $linecount;
134     while (<IN>) {
135      chomp;
136      $linecount++;
137      if ($verbose && !($linecount % 10000))  {print STDERR "Parsed $linecount lines\n"}
138      my @line=split /\s+\|\s+/;
139      foreach my $peg ($self->swiss_pir_ids($line[0])) {
140       print OUT "$_ | $peg\n";
141    }    }
   unless ($done) {print OUT $_, "\t\n"}  
142   }   }
143   close IN;   close IN;
144   close OUT;   close OUT;
# Line 123  Line 146 
146  }  }
147    
148    
149    
150    =head2 swiss_pir_ids()
151    
152    SwissProt/PIR have lots of ID's that we want to get, usually in this order - uni --> tr --> sp. This routine will map swissprot/pir ids to fig id's.
153    
154    =cut
155    
156    sub swiss_pir_ids {
157     my ($self, $id)=@_;
158     return () unless ($id);
159    
160     my @return=($fig->by_alias("uni|$id"));
161     return @return if ($return[0]);
162    
163     @return=($fig->by_alias("tr|$id"));
164     return @return if ($return[0]);
165    
166     @return=($fig->by_alias("sp|$id"));
167     return @return if ($return[0]);
168    
169     return ();
170    }
171    
172  =head2 ss_by_id  =head2 ss_by_id
173    
174   Generate a list of subsystems that a peg occurs in. This is a ; separated list.   Generate a list of subsystems that a peg occurs in. This is a ; separated list.

Legend:
Removed from v.1.13  
changed lines
  Added in v.1.15

MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3