1. 前言
之前写过Hybpiper软件怎么筛选直系同源基因,PhyloAln的工作原理和它其实类似,但是其特点在于可以根据一个比对好的序列文件(MSA),然后从其他测序文件或序列文件筛选直系同源基因,相对Hybpiper,多了一个直接从序列筛选直系同源基因的功能。然而,这个功能并不是PhyloAln的独创,Hamstr可以完成这个工作,但是这个软件的配置和运行真的太复杂了,并且速度很慢。因此,今天来学习一下PhyloAln怎么使用。
2. 软件下载
mamba create -n phyloaln
mamba install bioconda::phyloaln
3. 运行
以下为AI总结:
PhyloAln 的运行流程按顺序分为 5 个关键步骤,各步骤衔接紧密且支持可选参数调整,具体如下:
PhyloAln 的运行流程按顺序分为 5 个关键步骤,各步骤衔接紧密且支持可选参数调整,具体如下:
1. 输入准备与预处理
- 输入文件:需同时提供两类核心文件
- 参考文件:FASTA 格式的已有多序列比对结果(MSA),可来自直系同源数据库(如 OrthoDB)或手动构建;
- 目标文件:FASTQ/FASTA 格式的测序 reads 或组装后序列(如基因组片段、转录本、蛋白质序列)。
- 预处理操作:
- 按用户选择的模式处理目标序列,如 prot/codon 模式下将核苷酸序列翻译成 6 种阅读框的蛋白质,dna_codon 模式下处理长读长的插入缺失问题;
- 可选对参考 MSA 或目标序列进行片段化(如将长基因组序列拆分为 200bp 片段,步长 100bp),减少内含子干扰或降低 HMM 搜索耗时。
2. HMM 搜索与序列映射
这是工具的核心步骤,分为 “搜索匹配” 和 “坐标映射” 两步:
- HMM 搜索同源区域
用 HMMER3 对预处理后的目标序列 /reads 进行搜索,筛选出与参考 MSA 同源的片段,保留含保守位点的匹配区域(排除随机相似序列)。
- 按参考坐标定位
根据 HMMER3 输出的匹配信息,将目标序列的同源片段映射到参考 MSA 的对应坐标上,同时保留参考序列的间隙(gap)结构,确保新生成的 MSA 与参考格式一致,无需重新进行全序列比对。
3. 可选步骤:序列组装(针对短读长)
若输入为短读长(如 Illumina reads),可开启 “重叠区域组装” 功能:
- 基于映射后的参考坐标,将来自同一目标区域、存在重叠的短 reads 组装成连续片段(contig),设定重叠长度和一致性阈值(如重叠 50bp、一致性 ≥90%),提升长片段的比对完整性。
4. 去污染处理(核心优势步骤)
PhyloAln 内置两类污染去除机制,解决测序数据中常见的外源污染(如寄生虫、共生菌)和交叉污染(同批次其他物种)问题:
- 外源污染去除
- 计算目标序列与参考 MSA 中 “外类群” 的 “保守性得分”(基于参考序列中碱基的出现频率求和);
- 若目标序列的保守性得分低于外类群得分的 0.9 倍(默认权重),则判定为外源污染并移除。
- 交叉污染去除
- 对同批次多个目标物种的序列,比较两两之间的重叠区域,若重叠长度和一致性超过阈值,计算两者的 “估算 RPKM”(基于 read 计数和序列长度的丰度指标);
- 若丰度差异超过设定阈值(如 10 倍),则丰度低的序列判定为来自丰度高的物种的交叉污染,予以移除。
5. 结果生成与输出
- 共识序列构建:对同一目标物种、同一参考坐标的多个匹配序列,可选生成共识序列(按碱基出现频率确定每个位点的碱基),减少冗余;
- 输出文件:生成 FASTA 格式的新 MSA 文件,包含目标序列与参考序列的整合比对结果;若为 prot/codon/dna_codon 模式,还会额外输出对应的蛋白质序列 MSA,直接用于下游系统发育树构建(如 IQ-TREE)。
PhyloAln的原理其实很简单,首先根据提供的多序列比对文件构建pHMM模型,然后通过对输入的Reads或者序列进行搜索,如果是reads,则进行组装,随后过滤,最后输出直系同源基因。重要的一个特点,PhyloAln对参考的多序列比对和输入的文件类型要求不严格,参考序列可以核酸和氨基酸,输入文件可以是测序文件,核酸序列和氨基酸序列,省去了很多中间转换步骤。因此我们需要准确的输入文件有两个(1)参考的多序列比对(2)测序文件或序列文件,序列文件一般就是转录组预测的cds/pep或者全基因组注释得到的cds/pep
# 单个MSA筛选单个样本的直系同源基因
PhyloAln -a OG0012156_trimmed_mafft.fa -s Amborella_trichopoda -i Test_pep.fasta -o
output_directory -e prot2prot
# -a 指定MSA文件
# -s 指定MAS文件中的参考物种
# -i 输入文件
# -o 结果文件夹
# -e 运行模式,根据参考MSA和输入文件的类型,有多种模式,dna2reads,prot2reads,codon2reads,fast_dna2reads,fast_prot2reads,fast_codon2reads,dna2trans,prot2trans,codon2trans,dna2genome,prot2genome,codon2genome,rna2rna,prot2prot,codon2codon,gene_dna2dna,gene_rna2rna,gene_codon2codon,gene_codon2dna,gene_prot2prot}, --mode {dna2reads,prot2reads,codon2reads,fast_dna2reads,fast_prot2reads,fast_codon2reads,dna2trans,prot2trans,codon2trans,dna2genome,prot2genome,codon2genome,rna2rna,prot2prot,codon2codon,gene_dna2dna,gene_rna2rna,gene_codon2codon,gene_codon2dna,gene_prot2prot,具体请参考官网说明,本次分析使用的模式是参考MSA和输入文件均为氨基酸序列。
如果有多个MSA文件,可以使用-d替换-a,指定一个包含所有MSA文件的目录。同样,如果有多个输入文件,可以-c替换-i,指定一个2列的txt文件,第一列为样本名,第二列为输入文件的绝对路径。
Test1 /home/majunpeng/sda2/Biantao_Sequence_data/Comparative_genomics/Use_data/Longest_gff/Prunus_avium_Chr.pep
Test2 /home/majunpeng/sda2/Biantao_Sequence_data/Comparative_genomics/Use_data/Longest_gff/Rosa_chinensis_Chr.pep
Test3 /home/majunpeng/sda2/Biantao_Sequence_data/Anno/Final_result/Prunus_pedunculata_Chr.pep.fasta
# 多个MSA筛选多个样本的直系同源基因
PhyloAln -d ~/sda2/Biantao_Sequence_data/Comparative_genomics/Phylo/renamed_fasta/Single_Copy_Orthologue_Sequences/Rename_dir/mafft -s Amborella_trichopoda -c Sample.txt -o output_directory -e prot2prot
4. 结果
结果文件夹中的“nt_out”有最后筛选出来的直系同源基因,软件还很贴心,把新筛选出来的和原本作为参考的直接合并到一起输出。
>Amborella_trichopoda
>Arabidopsis_thaliana
>Aristolochia_fimbriata
>Chloranthus_sessilifolius
>Dryas_drummondii
>Helianthus_annuus
>Malus_domestica
>Oryza_sativa
>Papaver_somniferum
>Prunus_avium
>Prunus_dulcis
>Prunus_pedunculata
>Prunus_persica
>Rosa_chinensis
>Spiraea_crenata
>Vitis_vinifera
>Ziziphus_jujuba
>Test1.OG0012156_trimmed_mafft.1
>Test2.OG0012156_trimmed_mafft.1
>Test3.OG0012156_trimmed_mafft.1
# 后三个就是新筛选出来的直系同源基因