Mercurial > repos > dereeper > pangenome_explorer
comparison PanExplorer_workflow/Perl/convertANI.pl @ 1:032f6b3806a3 draft
Uploaded
author | dereeper |
---|---|
date | Thu, 30 May 2024 11:16:08 +0000 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
0:3cbb01081cde | 1:032f6b3806a3 |
---|---|
1 #!/usr/bin/perl | |
2 | |
3 use strict; | |
4 | |
5 my $file = $ARGV[0]; | |
6 my $metadata = $ARGV[1]; | |
7 | |
8 my %strains; | |
9 open(F,$metadata); | |
10 while(<F>){ | |
11 my $line = $_; | |
12 $line =~s/\n//g;$line =~s/\r//g; | |
13 my ($path_genome,$strain) = split(/\t/,$line); | |
14 $strains{$path_genome} = $strain; | |
15 } | |
16 close(F); | |
17 | |
18 my %ANIs; | |
19 my %genomes; | |
20 my $num_line = 0; | |
21 open(F,$file); | |
22 <F>; | |
23 while(<F>){ | |
24 $num_line++; | |
25 my $line = $_; | |
26 $line =~s/\n//g;$line =~s/\r//g; | |
27 my @infos = split(/\t/,$line); | |
28 my $genome = $infos[0]; | |
29 $genome = $strains{$genome}; | |
30 $genomes{$num_line} = $genome; | |
31 for (my $i = 1; $i <= $#infos; $i++){ | |
32 $ANIs{$i}{$num_line} = $infos[$i]; | |
33 $ANIs{$num_line}{$i} = $infos[$i]; | |
34 } | |
35 } | |
36 close(F); | |
37 | |
38 print "Genomes"; | |
39 foreach my $i(sort keys(%ANIs)){ | |
40 print "\t".$genomes{$i}; | |
41 } | |
42 print "\n"; | |
43 foreach my $i(sort keys(%ANIs)){ | |
44 print $genomes{$i}; | |
45 foreach my $j(sort keys(%ANIs)){ | |
46 my $ani = $ANIs{$i}{$j}; | |
47 if ($ani eq "NA"){$ani = 0;} | |
48 if (!$ani && $i == $j){ | |
49 $ani = 100; | |
50 } | |
51 print "\t".$ani; | |
52 } | |
53 print "\n"; | |
54 } |