[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.16, Wed May 25 00:49:39 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      my $added;
140      foreach my $peg ($self->swiss_pir_ids($line[0])) {
141       print OUT "$_ | $peg\n";
142       $added=1;
143    }    }
144    unless ($done) {print OUT $_, "\t\n"}    unless ($added) {print OUT "$_\n"}
145   }   }
146   close IN;   close IN;
147   close OUT;   close OUT;
# Line 123  Line 149 
149  }  }
150    
151    
152    
153    =head2 swiss_pir_ids()
154    
155    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.
156    
157    =cut
158    
159    sub swiss_pir_ids {
160     my ($self, $id)=@_;
161     return () unless ($id);
162    
163     my @return=($fig->by_alias("uni|$id"));
164     return @return if ($return[0]);
165    
166     @return=($fig->by_alias("tr|$id"));
167     return @return if ($return[0]);
168    
169     @return=($fig->by_alias("sp|$id"));
170     return @return if ($return[0]);
171    
172     return ();
173    }
174    
175  =head2 ss_by_id  =head2 ss_by_id
176    
177   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.16

MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3