Kevin2015的个人博客分享 http://blog.sciencenet.cn/u/Kevin2015

博文

全外显子组生信分析流程-10-depth_and_coverage_bedtools

已有 3410 次阅读 2019-3-23 11:28 |个人分类:全外显子项目|系统分类:科研笔记

#! /bin/bash

#purpose:bam2bedGraph统计每个碱基的depth,并利用bedtools求overlapped region。
#set env
bam_dir=" "
cd $bam_dir  #bam文件所在位置
ls *.sorted.dedup.recal.bam > bam.list
probes_bed="truseq-exome-targeted-regions-manifest-v1-2.bed2" 

for sample in $(cat bam.list)
do
   bedtools genomecov  -bg -ibam   $bam_dir/$sample > $sample.bam2bed.bedGraph  # generate $sample.bam2bed.bedGraph file
  #chr start end depth #zero-based start and a one-based end
  
  cat $sample.bam2bed.bedGraph | awk '{print $1"\t"$2+1"\t"$3"\t"$4}' >$sample.bedGraph
  bedtools intersect -a $sample.bedGraph -b $probes_bed > $sample.intersect
  #chr overlapped_start overlapped_end depth 
  echo $sample ok
done
#cal the length and depth of overlapped regions
for sample in $(cat bam_list)
do
  perl -alne '{$len=$F[2]-$F[1]+1; $tmp+=$len}  END{print $tmp}'        $sample.intersect >> intersect.length
  perl -alne '{$len=$F[3]*($F[2]-$F[1]+1); $tmp+=$len}  END{print $tmp}' $sample.intersect >> intersect.depth
  perl -alne '{$len=$F[2]-$F[1]+1;$tmp+=$len}END{print $tmp}' $probes_bed  >> bed_length
done
paste bam.list intersect.length intersect.depth bed_length > intersect.cov_depth
#intersect.cov_depth: sampleID intersect.length intersect.depth bed_length 
#coverage=intersect.length/bed_length
#depth=intersect.depth/intersect.length
awk '{print $2/$4}' intersect.cov_depth #depth
awk '{print $3/$2}' intersect.cov_depth #coverage




https://wap.sciencenet.cn/blog-2609994-1169180.html

上一篇:全外显子组生信分析流程-9-depth_and_coverage_samtools_flagstat
下一篇:全外显子组生信分析流程-11-Mutect2
收藏 IP: 159.226.149.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-11-9 07:18

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部