29 lines
790 B
Perl
29 lines
790 B
Perl
open DIS, "/dataseq/jmdna/codes/reportbase/oncotree.cancertype.20230801.txt";
|
|
<DIS>;
|
|
my (%dis, @id, %dis2);
|
|
while (<DIS>) {
|
|
chomp;
|
|
my @line = split(/\t/);
|
|
$dis{lc $line[2]} = $line[3];
|
|
$dis{lc $line[4]} = $line[5];
|
|
push @{$dis2{$line[0]}}, lc $line[2];
|
|
push @{$dis2{$line[0]}}, lc $line[4];
|
|
push @id, $line[0];
|
|
}
|
|
foreach my $ID ('ST01') {
|
|
my @family;
|
|
my @ids = split("", $ID);
|
|
for (my $i = 1; $i < @ids; $i = $i + 2) {
|
|
push @family, join("", @ids[0 .. $i]);
|
|
}
|
|
push @family, (grep {/^$ID/} @id);
|
|
foreach my $t (@family) {
|
|
push @{$dis2{$ID}}, @{$dis2{$t}};
|
|
}
|
|
|
|
}
|
|
foreach my $key (keys(%dis2)) {
|
|
my %uniq;
|
|
@{$dis2{$key}} = grep {++$uniq{$_} < 2} @{$dis2{$key}};
|
|
}
|
|
print "$dis2{'ST01'}"; |