[Bio] / FigWebServices / ss_export.cgi Repository:
ViewVC logotype

Diff of /FigWebServices/ss_export.cgi

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

revision 1.1, Wed May 26 22:32:15 2004 UTC revision 1.6, Mon Jun 7 19:58:21 2004 UTC
# Line 54  Line 54 
54      chdir($tmp);      chdir($tmp);
55    
56      #      #
57        # Write a README with the mapping from genome and role index to name.
58        #
59    
60        open(my $rfh, ">README");
61    
62        print $rfh "Roles\n";
63        for my $role (@roles)
64        {
65            my $name = $sub->get_role($role);
66            my $abbr = $sub->get_role_abbr($role);
67    
68            print $rfh "$role\t$abbr\t$name\n";
69        }
70    
71        print $rfh "\n";
72    
73        print $rfh "Genomes\n";
74    
75        for my $g (@genomes)
76        {
77            my $gname = $sub->get_genome($g);
78            my $gs = $fig->genus_species($gname);
79    
80            print $rfh "$g\t$gname\t$gs\n";
81        }
82        close($rfh);
83    
84        #
85      # Write the role exports.      # Write the role exports.
86      #      #
87    
88      for my $role (@roles)      for my $role (@roles)
89      {      {
90          my $file = "role_$role.fasta";          my $file = "role_$role.dna.fasta";
91            my $protfile = "role_$role.prot.fasta";
92          open(my $fh, ">$file");          open(my $fh, ">$file");
93            open(my $protfh, ">$protfile");
94          for my $g (@genomes)          for my $g (@genomes)
95          {          {
96              my $gname = $sub->get_genome($g);              my $gname = $sub->get_genome($g);
# Line 73  Line 103 
103                      if (@location > 0)                      if (@location > 0)
104                      {                      {
105                          my $seq = $fig->dna_seq($gname, @location);                          my $seq = $fig->dna_seq($gname, @location);
106                            if ($seq ne "")
107                            {
108                          &FIG::display_id_and_seq($peg, \$seq, $fh);                          &FIG::display_id_and_seq($peg, \$seq, $fh);
109                      }                      }
110                  }                  }
111                        my $seq = $fig->get_translation($peg);
112                        if ($seq ne "")
113                        {
114                            &FIG::display_id_and_seq($peg, \$seq, $protfh);
115                        }
116                    }
117              }              }
118          }          }
119          close($fh);          close($fh);
120            close($protfh);
121      }      }
122    
123      #      #
# Line 86  Line 125 
125      # all-sequences file.      # all-sequences file.
126      #      #
127    
128      open(my $all_fh, ">all.fasta");      open(my $all_fh, ">all.dna.fasta");
129        open(my $allprot_fh, ">all.prot.fasta");
130        my $catfile = "all.prot.cat.fasta";
131        open(my $catfh, ">$catfile");
132    
133      for my $g (@genomes)      for my $g (@genomes)
134      {      {
135          my $gname = $sub->get_genome($g);          my $gname = $sub->get_genome($g);
136          my $file = "genome_$g.fasta";          my $file = "genome_$g.dna.fasta";
137            my $protfile = "genome_$g.prot.fasta";
138    
139          open(my $fh, ">$file");          open(my $fh, ">$file");
140            open(my $protfh, ">$protfile");
141            print $catfh ">$gname/" . $fig->genus_species($gname) . "\n";
142          for my $role (@roles)          for my $role (@roles)
143          {          {
144              my $entry = $sub->get_cell($g, $role);              my $entry = $sub->get_cell($g, $role);
# Line 105  Line 150 
150                      if (@location > 0)                      if (@location > 0)
151                      {                      {
152                          my $seq = $fig->dna_seq($gname, @location);                          my $seq = $fig->dna_seq($gname, @location);
153                            if ($seq ne "")
154                            {
155                          &FIG::display_id_and_seq($peg, \$seq, $fh);                          &FIG::display_id_and_seq($peg, \$seq, $fh);
156                          &FIG::display_id_and_seq($peg, \$seq, $all_fh);                          &FIG::display_id_and_seq($peg, \$seq, $all_fh);
157                      }                      }
158                  }                  }
159                        my $seq = $fig->get_translation($peg);
160                        if ($seq ne "")
161                        {
162                            &FIG::display_id_and_seq($peg, \$seq, $protfh);
163                            &FIG::display_id_and_seq($peg, \$seq, $allprot_fh);
164                            &FIG::display_seq(\$seq, $catfh);
165                        }
166                    }
167              }              }
168          }          }
169          close($fh);          close($fh);
170            close($protfh);
171      }      }
172        close($catfh);
173      close($all_fh);      close($all_fh);
174        close($allprot_fh);
175    
176        my $outname = "$subsystem.$$.tar.gz";
177        $outname =~ s/[^\w.-]/_/g;
178    
179        system("tar czf ../$outname .");
180        my $size = (stat("../$outname"))[7];
181    
 #    print "Content-Type: application/x-tar\n";  
     print "Content-Disposition:attachment;filename=$subsystem.tar.gz\n";  
182      print "Content-Type: application/octet-stream\n";      print "Content-Type: application/octet-stream\n";
183      #    print "Content-Encoding: x-gzip\n";      print "Content-Length: $size\n";
184        print "Content-Disposition:attachment;filename=$outname\n";
185      print "\n";      print "\n";
186      system("tar czf - .");  
187        my $buf;
188        open(my $myout, "<../$outname");
189        while (read($myout, $buf, 4096))
190        {
191            print $buf;
192        }
193        close($myout);
194    
195      chdir("..");      chdir("..");
196      system("rm -r $tmp");      system("rm -r $tmp $outname");
197    
198      exit;      exit;
199  }  }

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.6

MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3