[Bio] / FortyEight / get_nmpdr_group.pl Repository:
ViewVC logotype

Annotation of /FortyEight/get_nmpdr_group.pl

Parent Directory Parent Directory | Revision Log Revision Log


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

1 : olson 1.1
2 :     use strict;
3 :     use FIG_Config;
4 :     use Data::Dumper;
5 :    
6 :     my $usage = "get_nmpdr_group genus species";
7 :    
8 :     if (@ARGV == 1)
9 :     {
10 :     @ARGV = split(/\s+/, $ARGV[0]);
11 :     }
12 :    
13 :     @ARGV >= 2 or die $usage;
14 :     my $genus = shift;
15 :     my $species = shift;
16 :    
17 :     my $genus_species = "$genus $species";
18 :    
19 :     my $nmpdr_data = parse_nmpdr_groups("$FIG_Config::fortyeight_data/NMPDR.GROUPS");
20 :    
21 :     my $sm = $nmpdr_data->{species_match}->{$genus_species};
22 :    
23 :     if ($sm ne "")
24 :     {
25 :     print "$sm\n";
26 :     exit 0;
27 :     }
28 :    
29 :     my $gm = $nmpdr_data->{genus_match}->{$genus};
30 :     if ($gm ne "")
31 :     {
32 :     print "$gm\n";
33 :     exit 0;
34 :     }
35 :     exit 1;
36 :    
37 :     #
38 :     # Parse the NMPDR group definitions.
39 :     #
40 :    
41 :     sub parse_nmpdr_groups
42 :     {
43 :     my($group_file) = @_;
44 :    
45 :     open(GF, "<$group_file") or die "cannot open nmpdr group file $group_file: $!";
46 :    
47 :     my $dat = {};
48 :     while (<GF>)
49 :     {
50 :     chomp;
51 :     my $groupname;
52 :     s/^\s+//;
53 :     s/\s+$//;
54 :     if (/^(.*)\s+=>\s+(.*)/)
55 :     {
56 :     $groupname = $2;
57 :     $_ = $1;
58 :     }
59 :     if (/^([a-z]+)\s+(\S+)/)
60 :     {
61 :     $groupname = $_ unless $groupname;
62 :     $dat->{genus_match}->{$2} = $groupname;
63 :     }
64 :     else
65 :     {
66 :     $groupname = $_ unless $groupname;
67 :     $dat->{species_match}->{$_} = $groupname;
68 :     }
69 :     }
70 :     # print Dumper($dat);
71 :    
72 :     return $dat;
73 :    
74 :     }
75 :    
76 :    
77 :     #
78 :     # Process any NMPDR marking for this job.
79 :     #
80 :    
81 :     sub process_nmpdr
82 :     {
83 :     }
84 :    

MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3