真菌基因组聚类分析
本文最后更新于187 天前,其中的信息可能已经过时,如有错误请发送邮件到wuyk@163.com

复现一篇文章的工作时,发现作者使用的真菌基因组聚类分析工具是orthofinder,正好我也在学习相关分析,故做此笔记。

用到的软件:orthofinder,trimal,fasttree

这三个软件均可通过conda进行安装

​
conda install orthofinder
​
conda install trimal
​
conda install fasttree

通过orthofinder获得各个基因组的单拷贝直系同源基因序列

以下部分参考自作者:生信石头

原文链接

​
#在一个合适的路径,创建个人工作文件;
 mkdir all && cd test 

1.准备所需物种的蛋白文件

统一后缀为(.pep/.fasta/.fa/.faa/.fas 均是Orthofinder可以识别的后缀)

注意:如果基因组具有可变剪切转录本,需要提取最长转录本进行(TBtools可)

2.运行orthofinder主程序

#暂时退至上一层目录
cd ..
#运行主程序
orthofinder -f all/  -M msa   -a 40  
#非conda安装,主程序运行使用orthofinder.py 

主要用到的相关参数介绍:

#-a 分析所用到的线程
#-f 指定文件夹(存放我们所有物种的序列) 
#-M 推断基因树的方法 可选:msa 和 dendroblast (默认 dendroblast)
dendroblast不依赖多序列比对,基于Blast评分方法聚类的方法,更节约时间。但相对多序列比对(msa)还是准确性差一点。
#-S 序列比对的方法 可选:Diamond 和 blast (默认Diamond)
diamond相对于blast比对速度更快,准确性也有保证
#-T 建树的方法 可选:fasttree, raxml, raxml-ng, iqtree (默认fasttree)
建树的精准度/耗时 raxml > iqtree > fastree; 
如果追求更高的精准度可以使用 iqtree。
# 此处应有误,最准确应该是raxml,也是最慢的 - CJ

结果解读

产生了如上图的结果文件,

  • Orthogroup_Sequences 该文件夹包含了每个同源基因集合,各物种的同源基因序列。
  • Orthogroups 同源组信息的目录
Orthogroups.GeneCount.tsv #每个物种在每个同源基因集合所具有的基因数目
Orthogroups.tsv #每个物种在每个同源基因集合的基因ID
Orthogroups_UnassignedGenes.tsv #每个物种在每个同源基因集合的基因ID(包括未分配同源组的基因)
Orthogroups.txt #OrthoMCL的输出格式
Orthogroups_SingleCopyOrthologues.txt #单拷贝的同源基因集合

Single_Copy_Orthologue_Sequences 该文件包含了单拷贝的直系同源基因核酸序列。后续需要若需要构建时间分歧进化树,使用的序列。

MultipleSequenceAlignments 多序列比对的文件。

WorkingDirectory 运行程序的文件夹。

Species_Tree 物种树文件夹

生信石头作者,程老师在结果文件中描述的是,Species_Tree文件夹中应该有如下文件

Orthogroups_for_concatenated_alignment.txt #构建进化树所用到的同源基因集合
SpeciesTree_rooted.txt #有根物种树文件
SpeciesTree_rooted_node_labels.txt
#具有Node信息的树文件;导进查看树文件的软件即可,大致了解到物种关系。
       

但是很可惜,我运行后,只得到了Orthogroups_for_concatenated_alignment.txt文件

要知道,我一开始选择orthofinder就是看中了其方便快捷的建树能力,可是现在没有建树结果文件了,我查看了运行日志

发现报错出现在miniconda3的bin目录下,水平有限,实在没法解决。

万幸,我检索到了另一个老师的文章:郝永超M1racle:

单拷贝直系同源基因构建物种进化树

学习了通过单拷贝直系同源基因构建物种进化树的方法

前文中,我们运行了orthofinder程序,得到了一些结果,我们要的单拷贝直系同源基因序列在 Single_Copy_Orthologue_Sequences 文件夹里

分析并建树

使用mafft软件比对,使用seqkit对齐物种并将序列转为一行,最后用paste命令把序列连起来,类似于重测序分析时把SNP连起来建树

cd ./Single_Copy_Orthologue_Sequences
ls *fa|while read file;do mafft --auto $file > $file.aln;done
ls *aln|while read file;do seqkit sort $file|seqkit seq -w 0 > $file.format;done
paste -d " " *format > all.aln.fa

得到的all.aln.fa文件中,所有序列被串联起来了,但是每条序列的名称都特别长,郝永超M1racle老师通过编写一个python脚本修改每条序列的名称,我建议手动修改,因为我还不擅长写代码,只会用。

修改后的文件命名为:format.all.aln.fa

之后,使用trimal对不符合条件的序列进行修剪,fasttree建树

~/root/trimal/source/trimal -in format.all.aln.fa -out trimal.format.all.aln.fa -automated1  #trimal修剪
fasttree <trimal.format.all.aln.fa> tree #建树

由于我用的是自己在腾讯云通过248租的三年的服务器分析的,,运行内存只有2G,储存内存只有50G,所以跑fasttree的时候出现了out of memory报错,关于out of memory报错,CSDN和简书上有很多解决方法,这里我就不赘述了。

我用别的博主介绍的释放内存的方法,释放完了,可是还是报错out of memory,这时我意识到,是这个服务器运行内存太小了。

之后,我检索fasttree的使用方法,发现了fasttree有windows版,于是,在fasttree的官网(http://www.microbesonline.org/fasttree/)下载了fasttree的windows版

打开windows的cmd,用windows完成建树

把刚刚下载好的fasttree和我们的输入文件trimal.format.all.aln.fa放到以下目录:C:\Users\Administrator

输入代码

fasttree <trimal.format.all.aln.fa> tree #建树

完成建树,成功得到树文件tree

随后可通过ITOL对建树结果进行美化和编辑。

打完收工!

wuyuankang
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇