跳转至

670 质粒鉴定与分析

一句话概述:质粒是细菌水平基因转移的核心载体——PlasmidFinder鉴定复制子类型,MOB-suite重建和分型完整质粒序列。

核心知识点速查表

知识点关键内容
PlasmidFinder基于复制子序列的质粒鉴定(高特异度99%)
MOB-suite质粒重建+MOB分型+转移性预测(高灵敏度95%)
MOBFinder(2024)基于语言模型的宏基因组质粒MOB分型
质粒分型Inc型(复制子)、MOB型(松弛酶)、MPF型(配对形成)
pMLST质粒多位点序列分型
转移性预测可接合/可动员/不可动员

一、为什么质粒分析重要?(白话解释)

打个比方:质粒就像细菌之间传递的"U盘"——它们携带耐药基因、毒力因子等重要信息,可以在不同细菌之间自由传递。了解质粒就像了解"U盘的品牌(类型)、容量(大小)和传输方式(可否接合转移)"。

二、PlasmidFinder

# PlasmidFinder安装
conda install -c bioconda plasmidfinder  # conda安装

# 在线版:https://cge.food.dtu.dk/services/PlasmidFinder/

# 命令行运行
plasmidfinder.py \
  -i genome.fasta \           # 输入基因组/contigs
  -o pf_results/ \            # 输出目录
  -p /path/to/plasmidfinder_db \  # 数据库路径
  -t 0.90 \                   # 序列一致性阈值(90%)
  -l 0.60 \                   # 最小覆盖度(60%)
  -x                          # 扩展输出

# PlasmidFinder输出解读
# Plasmid: 检测到的质粒复制子类型(如IncF、IncI1、ColE1)
# Identity: 与参考序列的一致性
# Coverage: 查询序列对参考的覆盖度
# Contig: 检测到复制子的contig名

# pMLST(质粒MLST分型)
pmlst.py \
  -i genome.fasta \           # 输入
  -o pmlst_results/ \         # 输出
  -p /path/to/pmlst_db \     # pMLST数据库
  -s IncF                     # 指定质粒类型(IncF方案)

三、MOB-suite

# MOB-suite安装
pip install mob_suite  # pip安装
# 或
conda install -c bioconda mob_suite  # conda安装

# 1. MOB-recon:从草稿基因组重建质粒
mob_recon \
  --infile assembly.fasta \    # 输入组装结果
  --outdir mob_recon_out/ \    # 输出目录
  --num_threads 8              # 线程数

# MOB-recon输出文件:
# chromosome.fasta: 染色体contigs
# plasmid_*.fasta: 各个质粒的contigs
# contig_report.txt: 每个contig的分类(染色体/质粒)
# mobtyper_results.txt: 质粒分型结果

# 2. MOB-typer:对已知质粒序列分型
mob_typer \
  --infile plasmid.fasta \     # 输入质粒序列
  --outfile mob_typer_out.txt  # 输出分型结果

# MOB-typer输出包含:
# - 复制子类型(rep_type)
# - 松弛酶类型(mob_type):MOB分型
# - 配对形成类型(mpf_type)
# - 预测的转移性(predicted_mobility)
# - MOB cluster编号
# - 预测的宿主范围

MOB-suite结果解读

# 解析MOB-suite结果
import pandas as pd  # 数据处理

# 读取MOB-typer结果
mob = pd.read_csv("mobtyper_results.txt", sep='\t')
print(mob.columns.tolist())  # 查看所有列

# 关键列解读
for _, row in mob.iterrows():
    print(f"\n质粒: {row.get('sample_id', 'unknown')}")
    print(f"  大小: {row.get('size', 'NA')} bp")
    print(f"  复制子类型: {row.get('rep_type(s)', 'unknown')}")
    print(f"  MOB类型: {row.get('relaxase_type(s)', 'unknown')}")
    print(f"  MPF类型: {row.get('mpf_type', 'unknown')}")
    print(f"  转移性: {row.get('predicted_mobility', 'unknown')}")
    # 转移性分类:
    # conjugative: 可自主接合转移(有MOB和MPF)
    # mobilizable: 可被辅助动员(有MOB无MPF)
    # non-mobilizable: 不可移动(无MOB)
    print(f"  MOB cluster: {row.get('mash_nearest_neighbor', 'unknown')}")
    print(f"  宿主范围: {row.get('predicted_host_range_overall_rank', 'unknown')}")

四、宏基因组质粒分析

# 从宏基因组中鉴定质粒contigs
# 方法1: PlasFlow(基于神经网络)
PlasFlow.py \
  --input contigs.fasta \      # 输入组装contigs
  --output plasflow_results \  # 输出前缀
  --threshold 0.7              # 概率阈值

# 方法2: MOBFinder (2024, 基于语言模型)
# 专门处理碎片化的宏基因组contigs
# 支持10种MOB类型 + non-mobilizable分类
mobfinder \
  --input meta_contigs.fasta \ # 宏基因组contigs
  --output mobfinder_results/  # 输出目录
# 质粒-耐药基因关联分析
import pandas as pd

# 读取MOB-recon分类结果
contig_report = pd.read_csv("contig_report.txt", sep='\t')

# 读取AMRFinderPlus耐药基因结果
amr = pd.read_csv("amrfinder_results.tsv", sep='\t')

# 关联:哪些耐药基因在质粒上?
plasmid_contigs = contig_report[
    contig_report["molecule_type"] == "plasmid"]["contig_id"].tolist()

amr_on_plasmid = amr[amr["Contig id"].isin(plasmid_contigs)]
amr_on_chromosome = amr[~amr["Contig id"].isin(plasmid_contigs)]

print(f"质粒上的耐药基因: {len(amr_on_plasmid)}")
print(f"染色体上的耐药基因: {len(amr_on_chromosome)}")
print(f"\n质粒携带的耐药基因:")
for _, row in amr_on_plasmid.iterrows():
    print(f"  {row['Gene symbol']} ({row['Subclass']}) - {row['Contig id']}")

五、质粒可视化

# 使用Proksee/CGView可视化质粒
# Proksee在线:https://proksee.ca/

# 或使用Circos
# 配置质粒环状图显示:
# - 基因
# - 耐药基因(红色标注)
# - 复制子(蓝色标注)
# - GC含量/GC偏斜

常见报错与解决

报错原因解决方案
PlasmidFinder未检测到复制子新型复制子不在数据库中降低阈值或用MOB-suite
MOB-recon将染色体contig误判为质粒小contig不好区分设置最小contig长度或结合其他证据
短读长组装不出完整质粒重复序列导致断裂使用长读长测序(Nanopore/PacBio)
MOB-suite安装依赖冲突Python版本或mash版本用conda创建专用环境
多个质粒合并为一个共享序列导致组装错误用MOB-recon的聚类功能分离

速查表

# 质粒分析流程
基因组组装 → 质粒鉴定(PlasmidFinder/MOB-recon)
  → 质粒分型(MOB-typer: Rep/MOB/MPF)
  → 转移性预测(conjugative/mobilizable/non-mobilizable)
  → 耐药基因定位(染色体vs质粒)
  → 宿主范围评估

# 工具对比
PlasmidFinder: 高特异度(99%), 低灵敏度(50%)
MOB-suite: 高灵敏度(95%), 中特异度(88%)
→ 推荐组合使用: PlasmidFinder确认 + MOB-suite发现

# 质粒分型体系
Inc型(复制子): IncF, IncI1, IncN, IncX...
MOB型(松弛酶): MOBF, MOBP, MOBQ, MOBH...
MPF型(配对形成): MPFT, MPFF, MPFI...

# 转移性判定
有MOB + 有MPF → conjugative(可接合)
有MOB + 无MPF → mobilizable(可动员)
无MOB + 无MPF → non-mobilizable(不可移动)

面试高频问题

Q1:PlasmidFinder和MOB-suite有什么区别? A:PlasmidFinder基于复制子序列比对,特异度高(99%)但灵敏度低(50%)——只能找到有已知复制子的质粒。MOB-suite综合复制子、松弛酶、MPF等多种标记,灵敏度高(95%),还能从草稿基因组重建完整质粒序列。推荐组合使用。

Q2:什么是MOB分型? A:MOB分型基于质粒的松弛酶(relaxase)基因分类。松弛酶是质粒接合转移中切割oriT位点的关键酶。不同的MOB类型(如MOBF、MOBP、MOBQ)代表不同的接合转移系统,与质粒的宿主范围和传播能力密切相关。

Q3:为什么质粒上的耐药基因更危险? A:因为质粒可以在不同细菌之间水平转移(HGT),携带的耐药基因能快速传播。一个MCR-1(粘菌素耐药基因)在IncI2型质粒上,可以在几小时内从一个菌株转移到另一个菌株。染色体上的耐药基因则只能通过垂直遗传传给后代。

Q4:2024年有什么质粒分析的新工具? A:MOBFinder(2024年GigaScience)使用语言模型对碎片化的宏基因组质粒片段进行MOB分型,解决了传统方法对短contig分型困难的问题。它能将质粒片段分为10种MOB类型和一个非可移动类别。