用PLAM下的mcmctree做分歧时间估计

用mcmctree做分歧时间估计的时候遇到报错:

MCMCTREE in paml version 4.9, March 2015

Reading options from mcmctree.ctl..

finetune is deprecated now.

Reading master tree.

(Bmor, ((Achi, Rpro), Nlug));

Reading sequence data..  3 loci

*** Locus 1 ***

ns = 4  ls = 621319

Reading sequences, sequential format..

Reading seq # 1: Achi     

Error in sequence data file: B at 621301 seq 1.

Make sure to separate the sequence from its name by 2 or more spaces.

问题是序列不符合phylip格式,每个名字没有区分开

1.使用以下命令行将orthofinder处理好的多序列比对结果,fasta格式改为phylip格式,失败

cat SpeciesTreeAlignment.fa |tr '\n' '\t'|sed 's/>/\n/g' |sed 's/\t/      /'|sed 's/\t//g'| awk 'NF > 0' >Aa.phy.tmp

awk '{print "  "NR"  "length($2)}'  supergene.phy.tmp|tail -n 1 | cat -  supergene.phy.tmp > Aa.phy
  1. 使用
cat SpeciesTreeAlignment.fa |tr '\n' '\t'|sed 's/>/\n>/g' |sed 's/\t/\n/'|sed 's/\t//g'| awk 'NF > 0' > Aa1.phy.tmp

转换为正常的fasta(去掉换行等)

使用R包将fasta转换为phylip格式

library(devtools)
library(ape)
library(phylotools)

data <- read.fasta("Aa1.phy.tmp")
dat2phylip(data, outfile = "out.phy")

还是得到相同报错

报错原因,查找可能是蛋白序列里带有U,U不在常见密码子当中,所以有些软件不识别会报错

sed 's/U/X/g' SpeciesTreeAlignments.fa > STA_delU.fa

再用得到的这个去除U fasta文件,执行以上命令行,得到phylip格式文件。序列个数没有问题。注意,千万不要把U替换为空,会影响文件序列长度。应该替换为X。

运行继续报错,但是距离成功不远了。

ns = 4      ls = 621319
Reading sequences, sequential format..
Reading seq # 4: Rpro     
Sequences read..
Counting site patterns..  0:00
       56693 patterns at   621319 /   621319 sites (100.0%),  0:01
Counting frequencies..
56693 patterns, messy


*** Locus 2 ***


Error: seq err1: EOF.
seq file is not paml/phylip format.  Trying nexus format.

原来问题是,软件自带测试数据是3组数据,而我们的数据只有一组!

所以非常简单,修改mcmctree.ctl。改为ndata=1

 ndata = 1
       seqtype = 2  * 0: nucleotides; 1:codons; 2:AAs
       usedata = 3    * 0: no data; 1:seq like; 2:use in.BV; 3: out.BV
         clock = 3    * 1: global clock; 2: independent rates; 3: correlated rates
       RootAge = <1.0  * safe constraint on root age, used if no fossil for root.

运行成功。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,135评论 1 32
  • 1.ios高性能编程 (1).内层 最小的内层平均值和峰值(2).耗电量 高效的算法和数据结构(3).初始化时...
    欧辰_OSR阅读 29,547评论 8 265
  • 推断物种系统发育关系以及分歧时间对探讨物种起源与演化具有重要意义。通过最大似然法(ML)构建物种进化树以及估算物种...
    Mr_我爱读文献阅读 25,527评论 31 70
  • 第2章 基本语法 2.1 概述 基本句法和变量 语句 JavaScript程序的执行单位为行(line),也就是一...
    悟名先生阅读 4,195评论 0 13
  • 久违的晴天,家长会。 家长大会开好到教室时,离放学已经没多少时间了。班主任说已经安排了三个家长分享经验。 放学铃声...
    飘雪儿5阅读 7,552评论 16 22