[Bio] / SubsystemExtension / cluster_detection.pl Repository:
ViewVC logotype

Annotation of /SubsystemExtension/cluster_detection.pl

Parent Directory Parent Directory | Revision Log Revision Log


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

1 : olson 1.1 #!/Users/fig/FIGDisk/env/mac/bin/perl
2 :    
3 :     use strict;
4 :     use warnings;
5 :    
6 :     use Getopt::Std;
7 :     use Term::ReadKey;
8 :     use IO::Handle;
9 :     use Data::Dumper;
10 :    
11 :     use SubsystemExtension::ClusterDetectionSparse;
12 :     #use SubsystemExtension::ClusterDetectionArray;
13 :     use SubsystemExtension::SequenceFactory::SEED;
14 :     use SubsystemExtension::SequenceFactory::COG;
15 :    
16 :    
17 :     use constant DEBUG => 1;
18 :     no warnings qw(redefine);
19 :    
20 :     #
21 :     # this is necessary if the script is started via rsh(1)
22 :     # otherwise you won't see any output until the first <RETURN>
23 :     #
24 :    
25 :    
26 :     sub usage {
27 :     print "-= cluster_detection =-\n\n";
28 :     print "usage:\n cluster_detection -s <seed_taxon_id file> -f <cog file> -d <validation_directory> -t <family type ('cog', 'kegg' ettc.)> -c <min cluster size> -g <min cluster size genomes> -o <min cluster overlap>\n\n";
29 :    
30 :     }
31 :    
32 :     # global variables
33 :     our( $opt_f, $opt_d, $opt_s, $opt_t, $opt_c, $opt_g, $opt_o, $opt_a, $opt_p);
34 :    
35 :     getopts('f:d:s:t:c:g:o:pa');
36 :    
37 :    
38 :     if (!$opt_f && !$opt_s) {
39 :     usage;
40 :     print "ERROR: Can't start script : no cog filename given!\n";
41 :     exit 1;
42 :     }
43 :    
44 :    
45 :     print STDERR $opt_p;
46 :    
47 :     $opt_c = $opt_c ? $opt_c : 2;
48 :     $opt_g = $opt_g ? $opt_g : 2;
49 :     $opt_o = $opt_o ? $opt_o : 75;
50 :    
51 :    
52 :     my $gecko;
53 :     if ($opt_a) {
54 :    
55 :     print STDERR "Using Array variant\n";
56 :     # $gecko = SubsystemExtension::ClusterDetectionArray->new($opt_c, $opt_g, $opt_o, $opt_p);
57 :     } else {
58 :     print STDERR "Using Sparse variant\n";
59 :     $gecko = SubsystemExtension::ClusterDetectionSparse->new($opt_c, $opt_g, $opt_o, $opt_p, $opt_d);
60 :    
61 :     }
62 :     if (ref $gecko) {
63 :    
64 :     my ($sequences, $genomes, $factory);
65 :    
66 :    
67 :    
68 :     if ($opt_f && -e $opt_f) {
69 :    
70 :     $factory = SubsystemExtension::SequenceFactory::COG->new($opt_f);
71 :    
72 :     } elsif ($opt_s && -e $opt_s) {
73 :    
74 :     my @taxon_ids;
75 :    
76 :     open (TAXON_IDS, "<".$opt_s) or die "could not open $opt_s\n";
77 :     while (<TAXON_IDS>) {
78 :     chomp;
79 :     push @taxon_ids, $_;
80 :     print STDERR "$_\n";
81 :     }
82 :    
83 :     close (TAXON_IDS);
84 :     $factory = SubsystemExtension::SequenceFactory::SEED->new(\@taxon_ids, $opt_t ? $opt_t : 'cog');
85 :    
86 :     }
87 :     close STDOUT;
88 :    
89 :     ($sequences, $genomes) = $factory->createSequences();
90 :    
91 :     # print STDERR &Dumper($sequences);
92 :     $gecko->sequences($sequences);
93 :     $gecko->genomes($genomes);
94 :     $gecko->connecting_intervalls();
95 :    
96 :     my $clusterList = $gecko->clusterList();
97 :    
98 :     $clusterList->toFile($opt_d."/clusterlist.cls");
99 :     foreach my $cluster ($clusterList->clusters()) {
100 :     $cluster->toFile($opt_d."/cluster_".$cluster->{id}.".cls");
101 :     }
102 :    
103 :     }
104 :    
105 :    
106 :    
107 :    
108 :    
109 :    

MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3