elsif(\ {
$num{\ }
elsif(\ {
$num{\ } }
print\第$i个滑动窗口各碱基的含量为:\
printf\的含量为$num{A} T的含量为$num{T} C的含量为$num{C}
G的含量为$num{G}\\n\ }
for($t=300;$t>220;$t--)
{
print $t;print\ $a[$i][$num{A}]=1; $t[$i][$num{T}]=1; $g[$i][$num{C}]=1; $c[$i][$num{G}]=1;
for($i = 1;$i<=$string_bp_len-1000;$i++)
{
if($a[$i][$t]==1|| $t[$i][$t]==1||$c[$i][$t]==1||$g[$i][$t]==1) {
print\ } else {
printf\
}
20
}
}
print\
程序代码: #!/usr/bin/perl
open (FILE,\@string_bp =
$string_bp=join(\$t=200;
print\
$string_bp_len = length($string_bp); for($i = 1;$i<=$string_bp_len-1000;$i++) {
$sonstring=substr($string_bp,$i,1000);
%num=(\
for($j=1;$j<=1000;$j++) {
$jianji=substr($sonstring,$j,1); if(\ {
$num{\
}
elsif(\ {
$num{\ }
elsif(\ {
21
$num{\ }
elsif(\ {
$num{\ } }
print\第$i个滑动窗口各碱基的含量为:\
printf\的含量为$num{A} T的含量为$num{T} C的含量为$num{C}
G的含量为$num{G}\\n\ }
print\输出曲线为下面:\\n\
for($t=300;$t>220;$t--) {
print $t;print\ $a[$i][$num{A}]=1; $t[$i][$num{T}]=1; $g[$i][$num{C}]=1; $c[$i][$num{G}]=1;
for($i = 1;$i<=$string_bp_len-1000;$i++)
{
if($a[$i][$t]==1|| $t[$i][$t]==1||$c[$i][$t]==1||$g[$i][$t]==1) {
print\ } else {
printf\
}
22
}
}
print\
print\
测试输出见图2-4; 碱基滑动窗口计算结果图: print\
2-4.1碱基含量结果图
曲线碱基比例差别比较大,最后的结果图分为以下两个部分:
23
2-4.2
2-4.3
图2-4 题测试输出结果
心得体会:
当做完这道题的时候,我简直就要跳起来了,因为这道题我几乎用来一天了时间,我刚开始的时候怎么都不懂怎样能够打印出这样的形状,我简直很佩服学姐(或学长),因为他居然给了我样板。刚开始我想的是,每得到一个滑动窗口的值,然后就打印出来,但是结果告诉饿哦不行,而且,刚开始我使用滑动窗口
24