用perl程序解决序列标准化100定义: Ni1=100ni1/ni0 &

用perl程序解决
序列标准化100定义: Ni1=100ni1/ni0 四舍五入取整
Ni2=100ni2/ni0 四舍
说明例如第一行序列 ni1为第一个数( 第一数13= ni1) ni2为第二个数( 第二个数23=ni2) 最后一个数49=ni0
I001 13 TTGTAACAAAC 23 49
I001 16 AAATTTTGTAAAAATTAAC 34 50
I002 11 AACTAATTGTA 21 47
上面序列经过标准化100后,结果如下:(标准化后的第一个数为 Ni1;第二个数为 Ni1;最后一个数为100)
I001 27 TTGTAACAAAC 47 100
I001 32 AAATTTTGTAAAAATTAAC 68 100
I002 23 AACTAATTGTA 45 100
aioliss 1年前 已收到1个回答 举报

245048 花朵

共回答了17个问题采纳率:94.1% 举报

给你个思路,这只是一种方法而已,方法还有很多.
open F, "F:/h.txt"; #h.txt是你的数据文件
@array=;
foreach (@array){
($s1, $s2, $s3, $s4, $s5)=split(/s+/,$_);
$s2=int(100*$s2/$s5);
$s4=int(100*$s4/$s5);
$s5=int(100*$s5/$s5);
print"$s1 $s2 $s3 $s4 $s5n";
}

1年前

1
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 16 q. 0.035 s. - webmaster@yulucn.com