偷偷摸摸写成未来的日期,假装天天更新。
需要的软件:
首先,是将序列比到宿主基因组上
# 建索引
bowtie2-build host.fna host
# 比对
bowtie2 -x host \
-1 sample_1.fastq.gz \
-2 sample_2.fastq.gz \
-S sample.sam --threads 16
# 转成bam
samtools view -bS sample.sam > sample.bam
然后,除掉比对上了的
samtools view -b -f 12 -F 256 sample.bam > sample.unmapped.bam
# -f 表示提取; 12 表示未比对上的reads和未比对上的pair
# -F 表示不要提取; 256 主要比对上了的
那个数字,可以在这里查询: flag
最后,把bam转回去fastq。
# samtools根据名字排序
samtools sort -n sample.unmapped.bam -O BAM -o sample.unmapped.sort.bam
# bedtools 转格式
bedtools bamtofastq -i sample.unmapped.sort.bam \
-fq sample_remove_host_1.fastq \
-fq2 sample_remove_host_2.fastq
P.S.
bowtie2中其实有一个参数,可以直接把未比对上的输出出来。
bowtie2 -x host \
-1 sample_1.fastq.gz \
-2 sample_2.fastq.gz \
-S sample.sam --threads 16 \
--un-conc sample.unalign.sam