[Bio] / FigKernelScripts / gather_genome_info.pl Repository:
ViewVC logotype

Annotation of /FigKernelScripts/gather_genome_info.pl

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.1 - (view) (download) (as text)

1 : olson 1.1 #
2 :     # Gather all information about the complete prokaryotic genomes.
3 :     #
4 :     # This includes
5 :     #
6 :     # Taxon id
7 :     # accession #s from genbank file
8 :     # project id from genbank file
9 :     # RAST job id if present
10 :     #
11 :     # one line for each contig:
12 :     # contig id, size, md5sum
13 :     #
14 :    
15 :     use strict;
16 :     use FIG;
17 :    
18 :     my $fig = new FIG;
19 :    
20 :     my @genomes = sort { &FIG::by_genome_id($a, $b) } $fig->genomes();
21 :     #my @genomes = qw(585057.4);
22 :    
23 :     for my $genome (@genomes)
24 :     {
25 :     next unless $fig->is_prokaryotic($genome);
26 :     my $name = $fig->genus_species($genome);
27 :    
28 :     my $dir = $fig->organism_directory($genome);
29 :    
30 :     my $complete = (-f "$dir/COMPLETE") ? 'COMPLETE' : 'NOT_COMPLETE';
31 :    
32 :     #
33 :     # Gather RAST info.
34 :     #
35 :    
36 :     my $rast_job;
37 :     if (open(R, "<", "$dir/RAST"))
38 :     {
39 :     while (<R>)
40 :     {
41 :     if (/RAST job number (\d+)/)
42 :     {
43 :     $rast_job = $1;
44 :     last;
45 :     }
46 :     }
47 :     close(R);
48 :     }
49 :    
50 :     #
51 :     # Genbank info, if available.
52 :     #
53 :     my(@genbank);
54 :     my $cur;
55 :     if (open(G, "<", "$dir/genbank_file"))
56 :     {
57 :     #
58 :     # Crude parse for the data we're interested in.
59 :     #
60 :     while (<G>)
61 :     {
62 :     chomp;
63 :     if (/^LOCUS\s+(.*)/)
64 :     {
65 :     $cur = [];
66 :     push(@$cur, $_);
67 :     push(@genbank, $cur);
68 :     }
69 :     elsif (/^ACCESSION\s+(\S+)/)
70 :     {
71 :     push(@$cur, $_);
72 :     }
73 :     elsif (/^DBLINK\s+Project:(\d+)/)
74 :     {
75 :     push(@$cur, $_);
76 :     }
77 :     }
78 :     close(G);
79 :     }
80 :    
81 :     print join("\t", $genome, $name, $rast_job, $complete), "\n";
82 :     my $contigs = $fig->contig_lengths($genome);
83 :     for my $id (sort keys %$contigs)
84 :     {
85 :     my $md5 = $fig->contig_md5sum($genome, $id);
86 :     print join("\t", $id, $contigs->{$id}, $md5), "\n";
87 :     }
88 :     print "///\n";
89 :     for my $g (@genbank)
90 :     {
91 :     print "$_\n" for @$g;
92 :     }
93 :     print "///\n";
94 :     print "//\n";
95 :     }

MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3