为啥输出结果只有表头呀,求解
perl吧
全部回复
仅看楼主
level 1
psetb 楼主
use strict;
use warnings;
my %hash=();
open(RF,"diff_lncRNA.txt") or die $!;
while(my $line=<RF>){
chomp($line);
$hash{$line}=1;
}
close(RF);
my %rep=();
open(RF,"mircode.txt") or die $!;
open(WF,">lncRNA_mircode.txt") or die $!;
while(my $line=<RF>){
if($.==1){
print WF "lncRNA\tmiRNA\n";
next;
}
my @arr=split(/\t/,$line);
my @oneArr=split(/\./,$arr[1]);
if(exists $hash{$oneArr[0]}){
my @threeArr=split(/\//,$arr[3]);
foreach my $mir(@threeArr){
if($mir=~/^miR/){
$mir="hsa-$mir";
}
else{
$mir="hsa-miR-$mir";
}
my $out="$oneArr[0]\t$mir";
unless(exists $rep{$out}){
print WF "$out\n";
$rep{$out}=1;
}
}
}
}
close(WF);
close(RF);
2021年05月03日 13点05分 1
level 1
psetb 楼主
只有表头,没有数据
2021年05月03日 13点05分 2
level 1
psetb 楼主
有没有大佬帮忙看看呀[泪],快崩溃了都
2021年05月04日 08点05分 3
level 7
QQ
1915474692
2021年05月05日 10点05分 4
level 1
遇到同样的问题,楼主问题解决了吗?求指导[疑问]
2021年05月15日 07点05分 6
level 7
use strict;
use warnings;
my %hash=();
open(RF,"diff_lncRNA.txt") or die $!;
while(my $line=<RF>){
chomp($line);
$hash{$line}=1;
}
close(RF);
my %rep=();
open(RF,"mircode.txt") or die $!;
open(WF,">lncRNA_mircode.txt") or die $!;
while(my $line=<RF>){
if($.==1){
print WF "lncRNA\tmiRNA\n";
next;
}
my @arr=split(/\t/,$line);
my @oneArr=split(/\./,$arr[1]);
if(exists $hash{$oneArr[0]}){
my @threeArr=split(/\//,$arr[3]);
foreach my $mir(@threeArr){
if($mir=~/^miR/){
$mir="hsa-$mir";
}
else{
$mir="hsa-miR-$mir";
}
my $out="$oneArr[0]\t$mir";
unless(exists $rep{$out}){
print WF "$out\n";
$rep{$out}=1;
}
}
}
}
close(WF);
close(RF);
2021年05月23日 04点05分 7
1