滑窗口统计基因组GC含量的分布

在基因组学分析中,滑窗口统计GC含量是一个常规动作,笔者在这里提供一个50k窗口统计香蕉基因组GC含量的脚本。输入文件是常见的基因组序列。


#! /usr/bin/perl -w
use strict;
die "#usage:perl $0 <BananaB.chr_V2.1.final.fa>\n" unless @ARGV==1;
my $fa=shift;
my $bin=50000; ##50k
open IN,$fa||die;
$/=">";<IN>;$/="\n";
print "#Chr\tStart\tEnd\tGC_num\tRatio\n";
while(<IN>){
	my $chr=$1 if /^(\S+)/;
	$/=">";
	chomp(my $seq=<IN>);
	$/="\n";
	$seq=~s/\n+//g;
	my $len=length$seq;
	for (my $i=0;$i<$len/$bin;$i++){
		my $loc=$i*$bin;
		my $sub_fa=uc(substr($seq,$loc,$bin));
		my $GC=$sub_fa=~tr/GC//;
		my $ratio=sprintf "%.4f",$GC/$bin;
		my $start=$i*$bin+1;
		my $end=($i+1)*$bin;
		my $out=join "\t",$chr,$start,$end,$GC,$ratio;
		print $out,"\n";
		#print "$out\t$sub_fa\n" unless $GC;
	}	
}
close IN;


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值