亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 2869 | 回復(fù): 2
打印 上一主題 下一主題

批量匹配并且調(diào)用R輸出圖像 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2015-12-05 01:02 |只看該作者 |倒序瀏覽
在文件夾下有100個txt文件格式如下
文件1:
ppa001528m.g
。。。
文件2:
ppa001300m.g
。。。
文件3:
ppa001519m.g
。。。

有個文件2 file2 包含所有id的數(shù)據(jù),格式如:
geneID        0d        CC5d        CC7d        CC14d        CC21d        CC21+2d        LTC5d        LTC7d        LTC14d        LTC21d        LTC21+2d
ppa001528m.g        1.653688942        1.537473414        1.769774091        1.394886738        1.382496983        13.98670972        1.627462538        2.569354314        1.3719842        1.592063844        6.339376946
ppa001300m.g        16.44252826        25.11701342        30.51752662        36.46444899        26.43879297        38.89443927        12.02667506        18.99975498        28.04562035        31.58610183        27.75076239
ppa001519m.g        5.73343494        2.281317849        2.959856951        3.45497983        4.322759702        12.0967961        2.574850257        3.448260154        3.504521367        5.772193379        7.853838426
。。。
請問如何批量讀取這100個文件,分別匹配file2后,輸出100個含有數(shù)據(jù)的txt文件?
即 文件1

另外,這個在perl中整合R,做出100個txt文件中的散點圖?

請高人指教。目前知道readdir可以讀取文件夾下的所有文件,但是讀取之后只是所有文件的名稱的數(shù)組,如何讀取其中的數(shù)據(jù)并進行進一步的操作未知。
另外一直困擾我的問題是如何將R整合到perl批量讀取這100個輸出文件并且做出散點圖?

大神,求救。我真的盡力了。

論壇徽章:
0
2 [報告]
發(fā)表于 2015-12-06 04:05 |只看該作者
回復(fù) 1# 321wangke321
自己寫了一個,但是有個問題,如果其中一個文件中ID不在file2中,將輸出空文件。

#!usr/bin/perl
use strict;
use warnings;


my %hash;
my $geneID;

open EXP_INFILE, "$ARGV[0]" or die "cannot open EXP_INFILE!";
while (<EXP_INFILE>{
        chomp;
        my ($geneID) = (split(/\t/,$_))[0];
              $hash{$geneID}=$_;
        }

my $dir = '/home/linux/R/softwares/perl-scripts/promoter-extraction/gene_family_extraction/';


opendir my $dh, $dir or die "cannot open $dir!";

foreach my $file_name (readdir $dh){
next unless $file_name =~ /(.*)\.txt$/;
my $file_out= "$1_out.txt";

open INFILE, '<',$file_name or die "cannot open $file_name!";
open OUT, '>',$file_out or die "cannot open $file_out!";

while (<INFILE>{
chomp;
print OUT "$hash{$_}\n";
}
}



close INFILE;
close OUT;
}

closedir $dh;

論壇徽章:
0
3 [報告]
發(fā)表于 2015-12-06 09:26 |只看該作者
有點亂,加個判斷了,比如從文件1中取出 id,把2的每行放數(shù)組,用grep篩選了,方法很多了
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP