#!perl
use warnings;
use strict;
use SVG;
use File::Basename qw(basename);
die "perl $0 <sample.list> <pathway.sorted> <outprefix>
Note: support 24 colors to sample~
" if @ARGV != 3;
my (@file, @pwtmp, @pw2sp);
my $i = 0;
open PW, $ARGV[1] or die $!;
while(<PW>)
{
chomp;
my @tmp = split /\t/;
$pwtmp[$i]{$tmp[0]} = 1;
$i ++;
}
my $f = 0;
open SP, $ARGV[0] or die $!;
while(<SP>)
{
chomp;
my @ft = split;
my $name = basename($ft[0]);
my ($id) = $ft[0] =~ /^([^\.]+)/;
push @file, $ft[1];
open FA, $ft[0] or die $!;
<FA>;
for(my $n = 0; $n < @pwtmp; $n ++)
{
$pw2sp[$f][$n] = 1;
}
while(my $line = <FA>)
{
chomp($line);
my @tmp = split /\t/, $line;
for(my $j = 0; $j < @pwtmp; $j ++)
{
if(exists $pwtmp[$j]{$tmp[0]})
{
$pw2sp[$f][$j] = $tmp[4];
last;
}
}
}
$f ++;
}
my $fn = @file;
my $pwn = @pwtmp;
my $svg = SVG->new(width => ($fn * 50 + 1100), height =>
kegg的某种svg展示图
最新推荐文章于 2025-04-03 16:32:04 发布