Parent Directory
|
Revision Log
Revision 1.15 - (view) (download) (as text)
1 : | overbeek | 1.1 | use strict; |
2 : | use Data::Dumper; | ||
3 : | |||
4 : | overbeek | 1.15 | my $usage = "usage: ma_pipeline Genome"; |
5 : | overbeek | 1.1 | |
6 : | overbeek | 1.3 | my($genome,$orgD); |
7 : | overbeek | 1.1 | ( |
8 : | overbeek | 1.3 | ($genome = shift @ARGV) && ($orgD = "$FIG_Config::organisms/$genome") |
9 : | overbeek | 1.1 | ) |
10 : | || die $usage; | ||
11 : | overbeek | 1.3 | |
12 : | (-d $orgD) || die "invalid organism directory"; | ||
13 : | |||
14 : | overbeek | 1.15 | # (my $rma_key = shift @ARGV) |
15 : | # || die $usage; | ||
16 : | overbeek | 1.1 | |
17 : | my $exp_ed = "$orgD/UserSpace/ExpressionData"; | ||
18 : | (-d $exp_ed) | ||
19 : | || die "Where is $exp_ed?"; | ||
20 : | (-s "$exp_ed/probes") | ||
21 : | || die "Where is $exp_ed/probes?"; | ||
22 : | (-s "$orgD/contigs") | ||
23 : | || die "Where is $orgD/contigs?"; | ||
24 : | (-s "$orgD/Features/peg/tbl") | ||
25 : | || die "Where is $orgD/Features/peg/tbl?"; | ||
26 : | |||
27 : | overbeek | 1.11 | my $tbl = (-s "$exp_ed/tbl") ? "$exp_ed/tbl" : "$orgD/Features/peg/tbl"; |
28 : | overbeek | 1.10 | &run("make_probes_to_genes $exp_ed/probes $orgD/contigs $tbl $exp_ed/peg.probe.table $exp_ed/probe.occ.table 2> $exp_ed/problems"); |
29 : | overbeek | 1.4 | &run("remove_multiple_occurring_probes $exp_ed/peg.probe.table $exp_ed/probe.occ.table > $exp_ed/peg.probe.table.no.multiple"); |
30 : | overbeek | 1.3 | chdir $exp_ed; |
31 : | |||
32 : | olson | 1.12 | my $peg_probe_table = "$exp_ed/peg.probe.table.no.multiple"; |
33 : | my $probe_no_match = "$exp_ed/probe.no.match"; | ||
34 : | |||
35 : | &make_missing_probes($peg_probe_table, "$exp_ed/probes", $probe_no_match); | ||
36 : | |||
37 : | &run("Rscript $FIG_Config::bin/RunRMA.R $peg_probe_table $probe_no_match $exp_ed/Experiments $exp_ed 2> $exp_ed/stderr.RMA"); | ||
38 : | |||
39 : | overbeek | 1.15 | # &run("Rscript $FIG_Config::bin/RunRMA.R $rma_key $exp_ed $exp_ed/Experiments 2> $exp_ed/stderr.RMA"); |
40 : | overbeek | 1.9 | |
41 : | overbeek | 1.3 | &run("$FIG_Config::bin/call_coregulated_clusters_on_chromosome $genome $exp_ed/raw_data.tab > $exp_ed/coregulated.clusters 2> $exp_ed/stderr.coregulated.clusters"); |
42 : | &run("$FIG_Config::bin/make_coreg_conjectures_based_on_subsys $genome $exp_ed/raw_data.tab > $exp_ed/coregulated.subsys 2> $exp_ed/stderr.coregulated.subsys"); | ||
43 : | overbeek | 1.7 | &run("cat $exp_ed/coregulated.clusters $exp_ed/coregulated.subsys | cut -f1 | $FIG_Config::bin/merge_gene_sets | filter_on_known $exp_ed/raw_data.tab > $exp_ed/merged.clusters"); |
44 : | overbeek | 1.5 | |
45 : | overbeek | 1.7 | &run("get_ON_probes $genome $exp_ed/probe.occ.table $exp_ed/peg.probe.table $exp_ed/raw_data.tab > $exp_ed/probes.always.on"); |
46 : | overbeek | 1.8 | &run("cut -f2 $exp_ed/probes.always.on | sort -u > $exp_ed/pegs.always.on"); |
47 : | overbeek | 1.6 | &run("Rscript $FIG_Config::bin/Pipeline.R $exp_ed/pegs.always.on $exp_ed/merged.clusters > $exp_ed/comments.by.Pipeline.R"); |
48 : | overbeek | 1.13 | |
49 : | overbeek | 1.14 | &run("Rscript $FIG_Config::bin/SplitGeneSets.R $exp_ed/merged.clusters 0.7 > $exp_ed/split.clusters"); |
50 : | overbeek | 1.9 | |
51 : | sub make_missing_probes | ||
52 : | { | ||
53 : | my($probe_table, $probes, $output) = @_; | ||
54 : | open(MATCH,"<", $probe_table) or die "Cannot open $probe_table: $!"; | ||
55 : | open(PROBES,"<", $probes) or die "Cannot open $probes: $!"; | ||
56 : | open(OUTPUT, ">", $output) or die "Cannot open $output: $!"; | ||
57 : | my %locations; | ||
58 : | while(<MATCH>) | ||
59 : | { | ||
60 : | chomp; | ||
61 : | my($peg,$loc)=split "\t"; | ||
62 : | $locations{$loc} = $peg; | ||
63 : | } | ||
64 : | |||
65 : | while(<PROBES>) | ||
66 : | { | ||
67 : | chomp; | ||
68 : | my($loc,$seq) = split "\t"; | ||
69 : | print OUTPUT $loc, "\n" if ! exists $locations{$loc}; | ||
70 : | } | ||
71 : | close(MATCH); | ||
72 : | close(PROBES); | ||
73 : | close(OUTPUT); | ||
74 : | } | ||
75 : | overbeek | 1.3 | |
76 : | sub run { | ||
77 : | shift if UNIVERSAL::isa($_[0],__PACKAGE__); | ||
78 : | my($cmd) = @_; | ||
79 : | overbeek | 1.2 | |
80 : | overbeek | 1.3 | if ($ENV{FIG_VERBOSE}) { |
81 : | my @tmp = `date`; | ||
82 : | chomp @tmp; | ||
83 : | print STDERR "$tmp[0]: running $cmd\n"; | ||
84 : | } | ||
85 : | (system($cmd) == 0) || die("FAILED: $cmd"); | ||
86 : | } | ||
87 : | overbeek | 1.2 |
MCS Webmaster | ViewVC Help |
Powered by ViewVC 1.0.3 |