samtools mpileup原始结果文件处理,非bcf/vcf格式

本文介绍如何处理samtools mpileup生成的未经过滤的原始数据,主要关注提取碱基reads的部分。
摘要由CSDN通过智能技术生成

samtools mpileup处理的原始结果向来比较麻烦,写了一个小程序只生成碱基reads,但不进行任何过滤:

#!/usr/bin/env perl 
use strict;
use warnings;
use Getopt::Long;

my %opt;
GetOptions(\%opt, "i=s", "o=s", "sd=s", "ad=s", "aq=s");

my $usage = <<"USAGE";

	Usage: perl $0 -i <pileup>  [options]
	CreationTime: 
	ModifyTime: 
	Note: 

	Options:
	-i			input file

	eg: perl $0 -i file.pileup > result

USAGE

die $usage if(!$opt{i});

open IN, ($opt{i} =~ /\.gz$/) ? "gzip -dc $opt{i} |" : $opt{i} or die $!;
my (@tmp, @qual, @base, %index);
while(<IN>)
{
	chomp;
	@tmp = split /\t/;
	next if($tmp[2] eq "N");

	while($tmp[4] =~ /[\+-](\d+)[ATCGNatcgn]+/)
	{
		$tmp[4] =~ s/[\+-]\d+[ATCGNatcgn]{$1}//;
	}
	$tmp[4] =~ s/\^\S//g; #\<\=\>\-\!\?\/\'\"\)\(\]\[\*\\\.\+,;:@&#%0-9A-Z
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值