1 #!/usr/local/bin/perl -w
9 print qq {This script dumps a Pathway Tools
(PGDB
) database
.
10 Please specify database to
dump (i
.e
. ARA
for AraCyc
, LYCO
for lycocyc etc
.)
11 Version
1.1, Nov
23, 2006...
17 ##edited by Danny 4/12/2005
19 my $cyc = new perlcyc
("ARA");
21 my @pathways = $cyc -> all_pathways
();
22 #my @pathways = ("PWY-1186");
24 foreach my $p (@pathways) {
25 my $pathwayName = getPathwayName
($p);
26 my @subpathways=$cyc -> get_slot_values
($p, "SUB-PATHWAYS");
28 my @reactions = $cyc -> get_slot_values
($p, "REACTION-LIST");
29 foreach my $r (@reactions) {
30 my $rname = $cyc -> get_slot_value
($r, "EC-NUMBER");
31 if (!$rname) { $rname=$r; }
32 my @proteins = $cyc -> enzymes_of_reaction
($r);
35 print "$pathwayName\t$rname\tunknown\tunknown\n";
38 printProteinsReport
($pathwayName, $rname, @proteins);
46 sub printProteinsReport
{
47 my ($pathwayName, $rname, @proteins) = @_;
48 for my $protein (@proteins) {
49 my $pname = getProteinName
($protein);
50 my @genes = $cyc -> genes_of_protein
($protein);
52 print "$pathwayName\t$rname\t$pname\tunknown\n";
55 printGenesReport
($pathwayName, $rname, $pname, @genes);
62 sub printGenesReport
{
63 my ($pathwayName, $rname, $pname, @genes) = @_;
64 foreach my $g (@genes) {
65 my $gname = getGeneName
($g);
66 print "$pathwayName\t$rname\t$pname\t$gname\n";
76 my $pathwayName = $cyc -> get_slot_value
($p, "COMMON-NAME");
77 if (!$pathwayName) {$pathwayName = "unknown";}
85 if ($g =~ /(At\dg\d{5})/i) {
89 my @synonyms = $cyc -> get_slot_values
($g, "SYNONYMS");
90 foreach my $s (@synonyms) {
91 if ($s =~ /(At\dg\d{5})/i) {
96 my $name = $cyc -> get_slot_value
($g, "COMMON-NAME");
108 if (!$protein) { return "unknown"; }
110 my $pname = $cyc -> get_slot_value
($protein, "COMMON-NAME");
111 if ($pname) { return $pname; }
113 my @others = $cyc -> get_slot_values
($protein, "CATALYZES");
115 foreach my $other (@others) {
116 push @names, $cyc -> get_slot_value
($other, "COMMON-NAME");
118 return (join "||", @names);