]> git.donarmstrong.com Git - biopieces.git/blob - bp_bin/BGB_list
removed debug message
[biopieces.git] / bp_bin / BGB_list
1 #!/usr/bin/env perl
2
3 # Copyright (C) 2007-2009 Martin A. Hansen.
4
5 # This program is free software; you can redistribute it and/or
6 # modify it under the terms of the GNU General Public License
7 # as published by the Free Software Foundation; either version 2
8 # of the License, or (at your option) any later version.
9
10 # This program is distributed in the hope that it will be useful,
11 # but WITHOUT ANY WARRANTY; without even the implied warranty of
12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13 # GNU General Public License for more details.
14
15 # You should have received a copy of the GNU General Public License
16 # along with this program; if not, write to the Free Software
17 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
18
19 # http://www.gnu.org/copyleft/gpl.html
20
21
22 # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> DESCRIPTION <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
23
24 # List all tracks availible in a local installation of the Biopieces Genome Browser.
25
26 # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
27
28
29 use warnings;
30 use strict;
31 use Data::Dumper;
32 use Maasha::Biopieces;
33 use Maasha::BGB::Track;
34
35
36 # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
37
38
39 my ( $user, $options, $in, $out, $record, $dir_hash, $clade, $genome, $assembly, $contig, $track );
40
41 $user    = Maasha::Biopieces::biopiecesrc( "BPB_USER" );
42
43 $options = Maasha::Biopieces::parse_options(
44     [
45         { long => 'user', short => 'u', type => 'string', mandatory => 'yes', default => $user, allowed => undef, disallowed => undef },
46     ]   
47 );
48
49 $in  = Maasha::Biopieces::read_stream( $options->{ "stream_in" } );
50 $out = Maasha::Biopieces::write_stream( $options->{ "stream_out" } );
51
52 while ( $record = Maasha::Biopieces::get_record( $in ) )
53 {
54     Maasha::Biopieces::put_record( $record, $out );
55 }
56
57 Maasha::Common::error( qq(Bad user: "$options->{ 'user' }") ) if not grep /^$options->{ 'user' }$/, Maasha::BGB::Track::list_users();
58
59 foreach $clade ( Maasha::BGB::Track::list_clades( $options->{ 'user' } ) )
60 {
61     foreach $genome ( Maasha::BGB::Track::list_genomes( $options->{ 'user' }, $clade ) )
62     {
63         foreach $assembly ( Maasha::BGB::Track::list_assemblies( $options->{ 'user' }, $clade, $genome ) )
64         {
65             foreach $contig ( Maasha::BGB::Track::list_contigs( $options->{ 'user' }, $clade, $genome, $assembly ) )
66             {
67                 foreach $track ( Maasha::BGB::Track::list_tracks( $options->{ 'user' }, $clade, $genome, $assembly, $contig ) ) {
68                     $dir_hash->{ $options->{ 'user' } }->{ $clade }->{ $genome }->{ $assembly }->{ $track } = 1;
69                 }
70             }
71         }
72     }
73 }
74
75 foreach $clade ( keys %{ $dir_hash->{ $options->{ 'user' } } } )
76 {
77     foreach $genome ( keys %{ $dir_hash->{ $options->{ 'user' } }->{ $clade } } )
78     {
79         foreach $assembly ( keys %{ $dir_hash->{ $options->{ 'user' } }->{ $clade }->{ $genome } } )
80         {
81             foreach $track ( keys %{ $dir_hash->{ $options->{ 'user' } }->{ $clade }->{ $genome }->{ $assembly } } )
82             {
83                 $record = {
84                     USER     => $options->{ 'user' },
85                     CLADE    => $clade,
86                     GENOME   => $genome,
87                     ASSEMBLY => $assembly,
88                     TRACK    => $track,
89                 };
90
91                 Maasha::Biopieces::put_record( $record, $out );
92             }
93         }
94     }
95 }
96
97
98 Maasha::Biopieces::close_stream( $in );
99 Maasha::Biopieces::close_stream( $out );
100
101
102 # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
103
104
105 BEGIN
106 {
107     Maasha::Biopieces::status_set();
108 }
109
110
111 END
112 {
113     Maasha::Biopieces::status_log();
114 }
115
116
117 # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
118
119
120 __END__