annotate PanExplorer_workflow/Perl/Heatmaply.pl @ 2:97e4e3e818b6 draft

Uploaded
author dereeper
date Thu, 30 May 2024 11:48:09 +0000
parents 032f6b3806a3
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
032f6b3806a3 Uploaded
dereeper
parents:
diff changeset
1 #!/usr/bin/perl
032f6b3806a3 Uploaded
dereeper
parents:
diff changeset
2
032f6b3806a3 Uploaded
dereeper
parents:
diff changeset
3 my $in = $ARGV[0];
032f6b3806a3 Uploaded
dereeper
parents:
diff changeset
4 my $out = $ARGV[1];
032f6b3806a3 Uploaded
dereeper
parents:
diff changeset
5 my $rowmetadata = $ARGV[2];
032f6b3806a3 Uploaded
dereeper
parents:
diff changeset
6 my $colmetadata = $ARGV[3];
032f6b3806a3 Uploaded
dereeper
parents:
diff changeset
7
032f6b3806a3 Uploaded
dereeper
parents:
diff changeset
8 my %hash;
032f6b3806a3 Uploaded
dereeper
parents:
diff changeset
9 my %hash2;
032f6b3806a3 Uploaded
dereeper
parents:
diff changeset
10 my $n = 0;
032f6b3806a3 Uploaded
dereeper
parents:
diff changeset
11 open(M,$rowmetadata);
032f6b3806a3 Uploaded
dereeper
parents:
diff changeset
12 while(<M>){
032f6b3806a3 Uploaded
dereeper
parents:
diff changeset
13 my $line = $_;
032f6b3806a3 Uploaded
dereeper
parents:
diff changeset
14 $line =~s/\n//g;$line =~s/\r//g;
032f6b3806a3 Uploaded
dereeper
parents:
diff changeset
15 $n++;
032f6b3806a3 Uploaded
dereeper
parents:
diff changeset
16 my @infos = split(/\t/,$line);
032f6b3806a3 Uploaded
dereeper
parents:
diff changeset
17 my $genus = $infos[1];
032f6b3806a3 Uploaded
dereeper
parents:
diff changeset
18 my $country = $infos[2];
032f6b3806a3 Uploaded
dereeper
parents:
diff changeset
19 my $continent = $infos[3];
032f6b3806a3 Uploaded
dereeper
parents:
diff changeset
20 $hash{$n} = "Genus: $genus <br>Country: $country <br> Continent: $continent";
032f6b3806a3 Uploaded
dereeper
parents:
diff changeset
21 }
032f6b3806a3 Uploaded
dereeper
parents:
diff changeset
22 close(M);
032f6b3806a3 Uploaded
dereeper
parents:
diff changeset
23
032f6b3806a3 Uploaded
dereeper
parents:
diff changeset
24 my $k = 0;
032f6b3806a3 Uploaded
dereeper
parents:
diff changeset
25 open(M,$colmetadata);
032f6b3806a3 Uploaded
dereeper
parents:
diff changeset
26 while(<M>){
032f6b3806a3 Uploaded
dereeper
parents:
diff changeset
27 my $line = $_;
032f6b3806a3 Uploaded
dereeper
parents:
diff changeset
28 $line =~s/\n//g;$line =~s/\r//g;
032f6b3806a3 Uploaded
dereeper
parents:
diff changeset
29 $k++;
032f6b3806a3 Uploaded
dereeper
parents:
diff changeset
30 my @infos = split(/\t/,$line);
032f6b3806a3 Uploaded
dereeper
parents:
diff changeset
31 my $cog = $infos[1];
032f6b3806a3 Uploaded
dereeper
parents:
diff changeset
32 my $cog_cat = $infos[2];
032f6b3806a3 Uploaded
dereeper
parents:
diff changeset
33 my $function = $infos[3];
032f6b3806a3 Uploaded
dereeper
parents:
diff changeset
34 $hash2{$k} = "Description: $function <br>COG: $cog <br>COG category: $cog_cat";
032f6b3806a3 Uploaded
dereeper
parents:
diff changeset
35 }
032f6b3806a3 Uploaded
dereeper
parents:
diff changeset
36 close(M);
032f6b3806a3 Uploaded
dereeper
parents:
diff changeset
37
032f6b3806a3 Uploaded
dereeper
parents:
diff changeset
38 open(T,">$in.metadata_tooltips.txt");
032f6b3806a3 Uploaded
dereeper
parents:
diff changeset
39 foreach my $n(sort {$a<=>$b} keys(%hash)){
032f6b3806a3 Uploaded
dereeper
parents:
diff changeset
40
032f6b3806a3 Uploaded
dereeper
parents:
diff changeset
41 my $country = $hash{$n};
032f6b3806a3 Uploaded
dereeper
parents:
diff changeset
42 foreach my $k(sort {$a<=>$b} keys(%hash2)){
032f6b3806a3 Uploaded
dereeper
parents:
diff changeset
43 my $cog = $hash2{$k};
032f6b3806a3 Uploaded
dereeper
parents:
diff changeset
44 print T "<br>$cog <br><br>$country \t";
032f6b3806a3 Uploaded
dereeper
parents:
diff changeset
45 }
032f6b3806a3 Uploaded
dereeper
parents:
diff changeset
46 print T "\n";
032f6b3806a3 Uploaded
dereeper
parents:
diff changeset
47 }
032f6b3806a3 Uploaded
dereeper
parents:
diff changeset
48 close(T);
032f6b3806a3 Uploaded
dereeper
parents:
diff changeset
49
032f6b3806a3 Uploaded
dereeper
parents:
diff changeset
50 use strict;
032f6b3806a3 Uploaded
dereeper
parents:
diff changeset
51 system("ulimit -s 163840;Rscript $dirname/../R/heatmaply.R -f $in -o $out -c $colmetadata -r $rowmetadata");