码迷,mamicode.com
首页 > 其他好文 > 详细

perl练习——计算点突变

时间:2016-07-16 00:17:30      阅读:214      评论:0      收藏:0      [点我收藏+]

标签:

题目来源:http://rosalind.info/problems/hamm/

一、程序目的:计算序列点突变(Point Mutations)

输入:

GAGCCTACTAACGGGAT

CATCGTAATGACGGCCT

输出:

7

 

二、程序设计

读取序列后利用split分割字串,然后注意比较,注意perl字符比较用“ne”(不等于)。

#!/usr/bin/perl/
use strict;
my (@seq, @seq1, @seq2, $distance);
@seq = <>;
# @seq1 = split //, chomp($seq[0]); # 这样会出错,chomp有返回值0 1
# @seq2 = split //, chomp($seq[1]);
@seq1 = split //, $seq[0];
@seq2 = split //, $seq[1];

for(my $i = 0; $i <= $#seq1; $i++){
        if($seq1[$i] ne $seq2[$i]){
                $distance++;
        }
}
print $distance."\n";

三、补充

perl比较

  数字 字符
大于 > lt
小于 < gt
等于 == eq
不等于 != ne
大于或等于 >= ge
小于或等于 <= le

 

 

 

 

 

 

 

 

其他的代码:

#!/usr/bin/perl
#
my @str = <STDIN>;

my $c = 0;
for ($i = 0; $i < length($str[0]); $i++){
        $c++ if (substr ($str[0], $i, 1)) ne (substr ($str[1], $i, 1));
}

print "$c\n";

 

perl练习——计算点突变

标签:

原文地址:http://www.cnblogs.com/steamed-bread/p/5674922.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!