写了一个perl脚本,调用了两个子程序,这两个子程序中分别都要遍历一个文件。
```
#DMR
Chr Start End Length N_C Methyl_Stress0 Methyl_Control0 Diff_methyl AreaStat Direction
chr1 3998120 3998220 100 8 0.8635 0.5784 0.2851 55.3665 Hyper
chr1 6916517 6917222 705 69 0.9187 0.5976 0.3211 695.3536 Hyper
chr1 9454505 9454633 128 8 0.5281 0.2002 0.3280 52.8468 Hyper
chr1 10970705 10970870 165 26 0.8999 0.5681 0.3317 307.8769 Hyper
chr1 15955916 15956232 316 28 0.9360 0.6386 0.2973 267.6975 Hyper
chr1 17793102 17793290 188 9 0.8104 0.4703 0.3402 78.3708 Hyper
chr1 19440293 19441256 963 42 0.9334 0.4415 0.4919 618.3510 Hyper
chr1 20705333 20705755 422 38 0.9415 0.2969 0.6446 886.2865 Hyper
chr1 20955313 20955493 180 15 0.3614 0.6616 -0.3002 -110.5831 Hypo
while (<DMR>){
chomp; my @aa=split/\t/,$_;
my @cc=&methyl_level_c($aa[0],$aa[1],$aa[2]);# 取chr,start和end位置作为参数传递给子程序
$hash_c{$aa[0]}{"$aa[1]"."-"."$aa[2]"}=[$aa[3],$aa[4],$aa[5],$aa[6],$aa[7],$aa[8],$aa[9],$cc[0],$cc[1],$cc[2]];
my @dd=&methyl_level_s($aa[0],$aa[1],$aa[2]);
$hash_s{$aa[0]}{"$aa[1]"."-"."$aa[2]"}=[$dd[0],$dd[1],$dd[2]];
}
```
网友评论