作业帮 > 综合 > 作业

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

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/17 02:17:51
用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
给你个思路,这只是一种方法而已,方法还有很多.
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 $s5\n";
}