- 我们里用gdc下载TCGA数据时,下载到一个压缩文件包。解压后,会发现里面有多个文件夹,而且最烦人的是:有的文件夹里有annotations.txt,而有的没有。

- miRNA注释文档有9列

- 我们利用perl把所有的注释信息(id和note)放在一个文档,方便后续工作

perl代码
sub gDirTree {
my $dir=shift;
my @gFile=();
if (!-d "$dir" && -e "$dir") {
push(@gFile,$dir);
return @gFile;
}
return if (!-d "$dir" || $dir =~ /\.$/);
my @files=grep {!(/^\./)} glob("$dir/*");
for my $nextname(@files ) {
if(-d "$nextname") {
push(@gFile,&gDirTree($nextname));
} else {
push(@gFile,$nextname);
}
}
return @gFile;
}
my @Files=&gDirTree("E:/gdc");
my @files=();
foreach $file(@Files){
if($file=~m/\bannotations\b/g){
push(@files,$file)
}
}
open(output,">E:/Data/result.txt")or die $!;
foreach $list(@files){
open(F, "$list") or die $!;
while(defined($line=<F>)){
chomp();
if($line=~ m/((\w+)-(\w+)-(\w+)-(\w+)-(\w+))/){
print output "$&"."\t";
}
if($line=~ m/\bApproved\b/){
print output "$'"."\n";
}
}
}
close output;