perl练习——计算点突变
2024-09-04 10:38:42
题目来源: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";
最新文章
- hadoop 2.7.3本地环境运行官方wordcount
- Android app应用多语言切换功能实现
- wordpress修改上传文件大小限制
- Python学习 - 简单抓取页面
- 2015第15周日PostgreSQL学习
- Django学习(六) 模板
- WCF技术剖析之十八:消息契约(Message Contract)和基于消息契约的序列化
- String StringBuffer StringBuilder 之间的区别
- tesseract-ocr字库训练图文讲解
- Windows下搭建Redis服务器
- ehcache模糊批量移除缓存
- MongoDB副本集功能及节点属性梳理
- mvc中让路由忽略带后缀的路径文件
- Oracle简单查询实例
- puppet(5)-master/agent模式
- Python之对象的永久保存模块---pickle
- Objective-C:三种文件导入的方式比较
- Jquery的深度拷贝和深度克隆
- AJAX的例子
- 【Leetcode】【Medium】Sum Root to Leaf Numbers (未完成)
热门文章
- Beta发布声明
- [技术博客] Django中文件的保存与访问
- 『学了就忘』Linux基础 — 7、补充:安装Linxu系统时设置硬盘挂载说明
- Linux Shell Here Document
- 集合栈 牛客网 程序员面试金典 C++ Python
- 重学STM32---(九)之CAN通信(一)
- c#复制数组的多种方法
- 安装RedHat和Centos后做的15件事情
- javac 不是内部或外部命令 和 错误 找不到或无法加载主类 的解决方法
- [啃书] 第3篇 - 结构体及其操作/浮点数&;圆周率/复杂度/测试