天天看点

2020.8.5丨细菌基因组二代测序组装流程梳理step:1 准备工作step:2 数据过滤step:3 组装step:4 共线性分析step:5-6 基因组环化+gap填充(尚未补充完整)step:7 组装评估

目录

  • step:1 准备工作
  • step:2 数据过滤
    • 比对参考基因组
      • 安装BWA
      • 建立索引
      • bwa一共有三种比对算法,这里使用mem
    • 数据过滤
      • 安装samtools
      • 筛选三步走
  • step:3 组装
  • step:4 共线性分析
    • 使用MUMmer进行分析
      • 安装mummer-3.23:
      • 联配相近序列
      • 数据整理
  • step:5-6 基因组环化+gap填充(尚未补充完整)
  • step:7 组装评估

step:1 准备工作

获得原始数据

获得样本参考基因组或者知晓物种名称

step:2 数据过滤

比对参考基因组

安装BWA

bwa-0.7.17:https://github.com/lh3/bwa/releases/download/v0.7.17/bwa-0.7.17.tar.bz2 #下载到安装目录解压缩
cd bwa
make
或者
conda install bwa #(需要预装anaconda或者miniconda)
           

建立索引

bwa index refer_data/Escherichia_Coli_HIV-1.fa
           

bwa一共有三种比对算法,这里使用mem

bwa mem -t 4 ../refer_data/Escherichia_Coli_HIV-1.fa AW001-1_R1.fq AW001-1_R2.fq
           

数据过滤

安装samtools

samtools 1.10:https://github.com/samtools/samtools/releases/download/1.10/samtools-1.10.tar.bz2

cd samtools-1.x # and similarly for bcftools and htslib
./configure --prefix=/XXX/to/install
make
make install #注意权限问题,有时候需要在命令前添加 sudo
           

筛选三步走

samtools view [options] in.sam|in.bam|in.cram [region...] #查看和转化SAM/BAM/CRAM文件,输出文件内部分序列等。第二步需要.sam文件,如果bwa已生成sam文件,此步骤可省略;
 samtools sort -@ 15 -l 5 -m 20M -n -o my_sorted.bam -O bam output.sam #对文件进行排序
	#[email protected] INT 设定线程,默认为单线程
	#-l INT 设定输出文件的压缩水平,0表示不压缩,1表示快速但低水平的压缩,9表示缓慢但高水平的压缩,范围是0或者1-9,如果不指定-I,则使用默认的压缩水平
	#-m INT 设定每个线程需要的最大内存,使用K M G作为后缀,为了避免sort时产生很多中间文件,该参数最小值设为1M
	#-n 根据read name进行sort而不是根据染色体的坐标
	#-o FILE 最后输出的文件,如果为空,就输出到标准输出中
	#-O FORMAT 输出文件的格式,SAM/BAM/CRAM中选一个
samtools fasta input.bam -1 output_R1.fasta -2 output_R2.fasta #转化为fa格式准备组装,单端测序无需添加 -1,-2参数
           

step:3 组装

这里我使用的是Abyss工具进行组装,详细的安装教程可以看这里:https://blog.csdn.net/yangl7/article/details/107706174

export abyss_home=/home/XX/soft/abyss-2.2.4/
export PATH=$abyss_home/ABYSS:$PATH
abyss-pe name=mapping_ecoli k=n  -o /h            ome/yangxin/Assembly_result/n_contigs.fa in='/home/XX/plasmid_data/bwa_R1.            fastq /hmoe/XX/plasmid_data/bwa_R2.fastq '
           

step:4 共线性分析

使用MUMmer进行分析

测序技术刚开始发展的时候,大家得到的序列都是单个基因的长度,所以一般都是逐个基因的比较,用的都是BLAST或FASTA通过逐个基因联配的方式搜索数据库。但是1999年后,越来越多的物种全基因组出现,比如说在1999年出现了Helicobacter pylori的第二类菌株的基因组序列,就需要研究同一物种不同品系进化过程的基因组变化,比如说基因倒置现象。传统的BLAST/FASTA就用不了,就需要用到新的工具,这就是MUMmer出现的历史背景。那么MUMmer能用来研究什么呢?比如说细菌的不同菌株基因组中倒置现象,人和老鼠的基因组在进化上的重排现象。还有比较同一物种的不同组装结果等。MUMmer的算法基础(suffix tree)使得它的速度比BLASTZ(k-mers)快得多,但是灵敏度低,也就是检测不到比较弱的匹配,但是作者说这都是可以通过修改参数进行改善. 背景描述及流程参考:https://www.plob.org/article/11355.html

安装mummer-3.23:

wget https://gigenet.dl.sourceforge.net/project/mummer/mummer/3.23/MUMmer3.23.tar.gz
conda install mummer(需要预装anaconda或者miniconda)
           

联配相近序列

数据整理

delta-filter -m contigs.delta > contigs.filter #数据过滤,指定匹配要求生成delta文件记录联配坐标
#-i: 最小的相似度 [0,100], 默认0
#-l: 最小的匹配长度 默认0.
#-u: 最小的联配唯一度 [0,100], 默认0
#-o: 最大重叠度,针对-r和-q设置。 [0,100], 默认100
#-g: 1对1全局匹配,不允许重排
#-1: 1对1联配,允许重排,是-r和-q的交集
#-m: 多对对联配,允许重排,是-r和-q的合集。
#-q: 仅保留每个query在reference上的最佳位置,允许多条query在reference上重叠
#-r: 仅保留每个reference在query上的最佳位置,允许多条reference在query上重叠
show-coords -T -r -l contigs.filter > contigs.1coords #显示联配坐标表格
mummerplot --postscript -p contigs contigs.delta #生成.PS格式的绘图文件
ps2pdf contigs.ps contigs.pdf #生成共线性PDF
           
2020.8.5丨细菌基因组二代测序组装流程梳理step:1 准备工作step:2 数据过滤step:3 组装step:4 共线性分析step:5-6 基因组环化+gap填充(尚未补充完整)step:7 组装评估

step:5-6 基因组环化+gap填充(尚未补充完整)

从step4开始手工操作,介于之前的质粒组装并不复杂,组装结果较好情况下,直接通过肉眼判断组装结果,这两步没有单独使用软件处理。后期遇到其他项目会对这两步进行补充

step:7 组装评估

使用Quast软件评估

安装

conda install quast(需要预装anaconda或者miniconda)
quast /home/XX/k_contigs.fa -t 8 -o k_quast
           

可以生成PDF直接查看评估结果,一共有五页,除总表外还有contig的长度分布,GC含量比例等图,不一一展示了。

2020.8.5丨细菌基因组二代测序组装流程梳理step:1 准备工作step:2 数据过滤step:3 组装step:4 共线性分析step:5-6 基因组环化+gap填充(尚未补充完整)step:7 组装评估

继续阅读