bedtools intersect 用于计算多个bam的交集序列
-
1.工具
https://bedtools.readthedocs.io/en/latest/content/tools/intersect.htmlgit clone https://github.91chi.fun//https://github.com/arq5x/bedtools2.git cd bedtools2/ make2.比对
使用bwa mem 比对每个样本(例如烟草的组装后的结果)bwa mem ref.fa s1.fq | samtools sorted -o s1.sorted.bam -3.过滤
过滤掉部分比对上的序列(soft clip和hard clip)和没有比对上的序列samtools view s1.sorted.bam | awk '$6 !~ /H|S/{print}' | samtools view -bS - > s1.noclips.bam samtools view -b -F 4 s1.noclips.bam -o s1.noclips.mapped.bam4.取各个样本的交集
每次取2个 一直循环到最后1个../bin/bedtools intersect -a s1.noclips.mapped.bam -b s2.noclips.mapped.bam -bed >intersect.s1.s2.bed ../bin/bedtools intersect -a intersect.s1.s2.bed -b s3.sorted.bam -bed >intersect.s1.s2.s3.bed5.从每个样本提取序列
使用最终的交集 bed 文件 提取包含这些交集的reads 每个样本都取一次samtools view s1.noclips.mapped.bam -L intersect.s1.s2.s3.bed -o s1.regions.bam samtools fasta s1.regions.bam -o s1.fasta