perl函数substr应用举例

提供了参考序列,需要根据起始位置和终止位置提取参考序列上固定的碱基序列,碱基位置及参考序列如下表

参考基因组起始位置终止位置
NC_002645.129312550
NC_006577.220621753
NC_006213.121021496
NC_005831.228720475
NC_004718.326521485
NC_019843.327921514
NC_045512.226621555

参考序列文件如下:

参考基因组参考序列
NC_002645.1ATCG…
NC_006577.2ATCG…
NC_004718.3ATCG…


提取脚本如下:

use strict;
use warnings;

my $in=shift;
open IN,"<$in" or die "pleaes give a file.\n";
print "参考基因组\t序列\n";
while(<IN>)
{
	chomp;
	my @a=split("\t",$_);
	open IN2,"<$a[0]";
	while(<IN2>)
	{
		chomp;
		my $length=$a[2]-$a[1]+1;
		my $seq=substr($_,$a[1],$length);
		print "$a[0]\t$seq\n";
	}	
	close IN2;
}
close IN;
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值