-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsearch.xml
145 lines (69 loc) · 97.8 KB
/
search.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
<?xml version="1.0" encoding="utf-8"?>
<search>
<entry>
<title>比较转录组揭示长寿老人自噬-溶酶体功能增强</title>
<link href="2021/04/11/%E8%BD%AC%E5%BD%95%E7%BB%84%E8%AF%81%E6%8D%AE%E6%98%BE%E7%A4%BA%E7%99%BE%E5%B2%81%E8%80%81%E4%BA%BA%E7%9A%84%E8%87%AA%E5%99%AC%E6%BA%B6%E9%85%B6%E4%BD%93%E5%8A%9F%E8%83%BD%E5%A2%9E%E5%BC%BA/"/>
<url>2021/04/11/%E8%BD%AC%E5%BD%95%E7%BB%84%E8%AF%81%E6%8D%AE%E6%98%BE%E7%A4%BA%E7%99%BE%E5%B2%81%E8%80%81%E4%BA%BA%E7%9A%84%E8%87%AA%E5%99%AC%E6%BA%B6%E9%85%B6%E4%BD%93%E5%8A%9F%E8%83%BD%E5%A2%9E%E5%BC%BA/</url>
<content type="html"><![CDATA[<h1 id="摘要"><a href="#摘要" class="headerlink" title="摘要"></a>摘要</h1><p>作为人类健康衰老典范的长寿老人(尤其是百岁老人),不但具有显著延长的寿命,而且还能延缓甚至规避一些重大老年性疾病的发生。揭示其健康衰老保护机制,将为延缓衰老、改善老年人健康提供新视角和新策略。</p><p>该研究分析了海南长寿家系171例样本外周血白细胞转录组数据。基于一系列生信分析及长寿家系样本血清Beclin1水平检测等结果,最终发现自噬-溶酶体信号通路基因表达上调为百岁老人最为显著的信号,且该信号同样存在于百岁老人F1后代。 </p><p>鉴于溶酶体参与的自噬作用可选择性降解细胞内受损的细胞器和蛋白,并释放出游离小分子供细胞再利用,为进一步证实自噬-溶酶体信号通路功能增强可延缓衰老、促进长寿,该团队挑选了4个自噬-溶酶体信号通路基因(CTSB、ATP6V0C、WIPI1和ATG4D)在人胚肺成纤维细胞IMR-90中分别进行过表达实验,发现这4个基因高表达均可增强细胞自噬功能并显著延缓细胞衰老;利用GAL4-UAS系统在果蝇中进行Atg18a(WIPI1在果蝇中的同源基因)过表达研究,发现其确实可显著延长果蝇寿命。因此,该团队基于组学分析及细胞、果蝇等功能实验,提示自噬-溶酶体信号通路功能增强可能有助于人类健康寿命延长。</p><h1 id="前言"><a href="#前言" class="headerlink" title="前言"></a>前言</h1><ul><li><p>百岁老人(CENs)具有延缓甚至规避许多与衰老相关的疾病(如心血管疾病、老年痴呆症、2型糖尿病和癌症)的独特特征。</p></li><li><p>目前,许多与长寿相关的基因和途径已在模型生物体中被发现,然而目前尚不清楚这些基因或途径如何影响人类的寿命,而且人类长寿的决定因素可能与动物模型不同。</p></li><li><p>目前,即使进行了全基因组测序/筛选研究,在长寿个体中也仅检测到数量非常有限的长寿相关变异体或基因,表明人类长寿的大多数决定因素都存在于基因变异之外。事实上,基因表达的调控在机体发育以及保持机体健康扮演重要角色,并且异常基因的表达常常与老年性相关的疾病有关。</p></li></ul><h1 id="结果"><a href="#结果" class="headerlink" title="结果"></a>结果</h1><h3 id="1-RNA测序"><a href="#1-RNA测序" class="headerlink" title="1. RNA测序"></a>1. RNA测序</h3><p>样本是来自长寿家族171名研究对象,主要包括76名百岁老人(年龄:102.2 ± 2.4,性别:58女性+18男性,其中),54名F1代(年龄:63.2 ± 7.7, 性别:3女性+51男性),41名F1代配偶(年龄:59.9 ± 6.6,性别:40女性+1男性)。对血样的细胞型组成(淋巴细胞、粒细胞)进行了分析,发现CEN、F1和F1SP组细胞类型比例无显着性差异,细胞类型比例与年龄之间也没有任何显著的关联。然后,在HiSeq(Illumina)平台上生成外周血白细胞的转录组数据。计算了基因水平的读取计数和FPKM值。<br><img data-src="https://cdn.jsdelivr.net/gh/yuzhenpeng/blogPic/tmp/20210411224806.jpg" class="lazyload"></p><h3 id="2-在CENs中存在显著差异表达基因(SDEG)"><a href="#2-在CENs中存在显著差异表达基因(SDEG)" class="headerlink" title="2. 在CENs中存在显著差异表达基因(SDEG)"></a>2. 在CENs中存在显著差异表达基因(SDEG)</h3><h5 id="为了检测长寿人群和年轻成人之间基因表达的变化,我们首先使用一个阈值p-lt-0-05来识别CENs和F1SPs之间的显著差异表达基因(DESeq2-package)。"><a href="#为了检测长寿人群和年轻成人之间基因表达的变化,我们首先使用一个阈值p-lt-0-05来识别CENs和F1SPs之间的显著差异表达基因(DESeq2-package)。" class="headerlink" title="为了检测长寿人群和年轻成人之间基因表达的变化,我们首先使用一个阈值p<0.05来识别CENs和F1SPs之间的显著差异表达基因(DESeq2 package)。"></a>为了检测长寿人群和年轻成人之间基因表达的变化,我们首先使用一个阈值p<0.05来识别CENs和F1SPs之间的显著差异表达基因(DESeq2 package)。</h5><ul><li><p>由于百岁老人中女性:男性=3:1,考虑性别问题,所以使用F1SP作为对照。因此,我们首先分析了仅来自女性受试者的数据,确定了CNSs和F1SPs之间总共有2254个SDEGs(p<0.05),其中1119个被上调,1135个被下调。并且在考虑男性受试者之后,这些测试基本保持不变( 2129/2254 )。2129个SDEGs,使用严格的Benjamini-Hochberg(BH)校正后(p<0.05),仅有1340个SDEGs被保留。</p></li><li><p>为了筛选衰老对CENs和F1SPs之间已鉴定的SDEGs的影响,对中老年样本进行了衰老-基因表达关联分析。结果表明,9.49%(202) SDEGs 表现出表达量与衰老之间具有相关性。有趣的是,在其余的1927个差异表达基因里面,有69个基因在GenAge数据库中有记录与模式生物长寿调节有关。</p></li><li><p>除了本研究考虑的细胞类型(淋巴细胞、粒细胞)外,我们还分析了特定血细胞类型(如CD3D[T细胞]、CD19[B细胞])的12个关键基因的表达情况。结果表明,这些基因中只有一个基因在两种基因之间有显著差异,说明细胞类型对结果的影响不大。<br><img data-src="https://cdn.jsdelivr.net/gh/yuzhenpeng/blogPic/tmp/20210411224829.jpg" class="lazyload"></p></li></ul><h3 id="3-溶酶体通路中的SDEGs在CENs中有上调的趋势"><a href="#3-溶酶体通路中的SDEGs在CENs中有上调的趋势" class="headerlink" title="3. 溶酶体通路中的SDEGs在CENs中有上调的趋势"></a>3. 溶酶体通路中的SDEGs在CENs中有上调的趋势</h3><ul><li><p>为了研究与1927个SDEGs有关的生物过程和途径,使用在线网站DAVID进行GO富集分析,结果发现上调的SDEGs显著富集于膜内陷,内吞过程,溶酶体,蛋白酶体等降解相关途径。与此相反的是,下调的基因在转录调控、RNA代谢过程,错配修复与癌症相关信号通路中富集。<br><img data-src="https://cdn.jsdelivr.net/gh/yuzhenpeng/blogPic/tmp/20210411224838.jpg" class="lazyload"></p></li><li><p>重要的是,在对1193个符合BH校正p值的SDEGs进行富集分析后,我们发现溶酶体途径在612个上调基因中得到了丰富。<br><img data-src="https://cdn.jsdelivr.net/gh/yuzhenpeng/blogPic/tmp/20210411224839.jpg" class="lazyload"></p></li><li><p>为了确定这种富集是与长寿有关还是仅仅与衰老有关,我们从鉴定的SDEGs(CEN vs F1SP)中删除了CEN和F1基因的差异表达基因。结果表明,44.5%(858/1927)的SDEG在CEN与F1之间表达无显着性差异,这表明这858个SDEGs相比衰老更有可能与寿命有关。更重要的是,在这些基因中,484个上调的基因仍在溶酶体通路中富集。然后,我们进行回归分析,以纠正性别效应,发现CEN组上调的基因在溶酶体通路中仍然是最显著的富集。</p></li></ul><h3 id="4-CENs自噬信号增强"><a href="#4-CENs自噬信号增强" class="headerlink" title="4. CENs自噬信号增强"></a>4. CENs自噬信号增强</h3><ul><li><p>由于溶酶体是自噬溶酶体系统的重要组成部分,在细胞清除和再循环中起着至关重要的作用。我们推测,在自噬-溶酶体系统中,基因表达的特定模式可能超出溶酶体基因。因此,我们对自噬相关基因(Atg)家族成员进行了研究,该家族成员通过将细胞质物质传递到溶酶体来控制自噬体的形成,这是大自噬的一个关键步骤。在33个ATGs中,5个是CEN组和F1SP组之间的SDEGs,它们在CENs中均有上调。<br><img data-src="https://cdn.jsdelivr.net/gh/yuzhenpeng/blogPic/tmp/20210411224841.jpg" class="lazyload"></p></li><li><p>为了验证RNA测序所产生的表达结果,我们用QRT-PCR法测定了4种随机选择的自噬溶酶体SDEGs(atg4d、atp6v0c、back1和cd68)的mRNA水平,发现CENs与F1SPs相比均有上调。这些观察表明,与自噬溶酶体相关的基因往往被上调,因此这一途径在长寿受试者中可能会增强。<br><img data-src="https://cdn.jsdelivr.net/gh/yuzhenpeng/blogPic/tmp/20210411225329.jpg" class="lazyload"><br><img data-src="https://cdn.jsdelivr.net/gh/yuzhenpeng/blogPic/tmp/20210411224944.jpg" class="lazyload"></p></li><li><p>接下来,我们测定了调节溶酶体生物发生和自噬过程的促自噬蛋白,在已进行RNA测序的样本中,包括CENs、F1s和F1SPs。与以前关于长寿种群的研究一致,我们的CEN样本也比F1SP组的血清beclin1浓度高,表明这些CENs中的自噬/溶酶体活性增强。<br><img data-src="https://cdn.jsdelivr.net/gh/yuzhenpeng/blogPic/tmp/20210411224953.jpg" class="lazyload"></p></li></ul><h3 id="5-CENs后代同样存在增强的自噬-溶酶体信号"><a href="#5-CENs后代同样存在增强的自噬-溶酶体信号" class="headerlink" title="5. CENs后代同样存在增强的自噬-溶酶体信号"></a>5. CENs后代同样存在增强的自噬-溶酶体信号</h3><ul><li><p>为了确定增强的自噬信号在F1后代中是否也存在,我们还鉴定了F1中与配偶有关的差异表达基因,因为已知的长寿表型是部分可遗传的(遗传力为20%-30%),而且F1受试者的年龄相关疾病的发生率也比普通人群低。<br><img data-src="https://cdn.jsdelivr.net/gh/yuzhenpeng/blogPic/tmp/20210411224847.jpg" class="lazyload"></p></li><li><p>具体来说,在CENs的38个上调的自噬/溶酶体基因中,有8个基因在F1中高表达<br><img data-src="https://cdn.jsdelivr.net/gh/yuzhenpeng/blogPic/tmp/20210411224959.jpg" class="lazyload"></p><h3 id="6-高表达CEN特异性自噬溶酶体SDEGs延缓果蝇细胞衰老和延长寿命"><a href="#6-高表达CEN特异性自噬溶酶体SDEGs延缓果蝇细胞衰老和延长寿命" class="headerlink" title="6. 高表达CEN特异性自噬溶酶体SDEGs延缓果蝇细胞衰老和延长寿命"></a>6. 高表达CEN特异性自噬溶酶体SDEGs延缓果蝇细胞衰老和延长寿命</h3><p>为了在功能上验证CEN特异性的自噬溶酶体SDEGs,我们测试了这些基因是否能促进IMR-90细胞的自噬和延缓细胞衰老。</p></li></ul><p>选择了与溶酶体和自噬体功能相关的基因(自噬的两个关键成分):CTSB,一种重要的组织蛋白酶;atp6v0c,维持溶酶体酸性pH的关键因素;atg4d和wipi 1,是自噬体形成的关键成分。这四个基因的过度表达导致了sqstm 1蛋白水平的下降,这是一种众所周知的自噬底物和自噬降解标记物。<br><img data-src="https://cdn.jsdelivr.net/gh/yuzhenpeng/blogPic/tmp/20210411225004.jpg" class="lazyload"></p><p>与此相一致的是,这四个基因的过度表达显著降低了衰老相关半乳糖苷酶β1(sa-β-gal)染色的细胞百分率,细胞增殖增强,并抑制CDKN2A和CDKN1A的蛋白水平,这是两个重要的衰老标记等。这些发现表明,至少在细胞水平,上调的SDEGs可以促进自噬功能,从而延缓衰老。<br><img data-src="https://cdn.jsdelivr.net/gh/yuzhenpeng/blogPic/tmp/20210411225536.jpg" class="lazyload"><br>由于CEN特异性基因存在于基因过度表达与延长寿命之间的相关而非因果关系中,我们研究了wipi1在转基因果蝇中的作用,并观察到与对照蝇相比,wpi1基因在果蝇中过表达的寿命延长。qrt-PCR和westernblot检测的转基因表达证实了转基因的表达。这一结果表明,至少溶酶体自噬基因在CENs中的过度表达很可能是延寿的原因而不是结果。<br><img data-src="https://cdn.jsdelivr.net/gh/yuzhenpeng/blogPic/tmp/20210411225008.jpg" class="lazyload"></p><h3 id="参考链接"><a href="#参考链接" class="headerlink" title="参考链接"></a>参考链接</h3><ol><li><a href="https://genome.cshlp.org/content/28/11/1601" target="_blank" rel="noopener">https://genome.cshlp.org/content/28/11/1601</a></li><li><a href="https://mp.weixin.qq.com/s?__biz=MzIyMjExMzY5NQ==&mid=2650377839&idx=1&sn=d2e4215d309ab2262c212fa720e6cff4&chksm=f03f549fc748dd895f752b67df15bf1635ce9545962c2c25c3568f6444a2fda5378f3fba2ab0&mpshare=1&scene=23&srcid=1107DMbObgBrvd1oc9uzd5A4#rd" target="_blank" rel="noopener"> [遗传资源与进化国家重点实验室]</a></li></ol>]]></content>
<categories>
<category> 文献阅读 </category>
</categories>
<tags>
<tag> 长寿 </tag>
</tags>
</entry>
<entry>
<title>基因组水平检测趋同进化</title>
<link href="2021/04/11/%E5%A6%82%E4%BD%95%E4%BB%8E%E5%9F%BA%E5%9B%A0%E7%BB%84%E6%B0%B4%E5%B9%B3%E6%A3%80%E6%B5%8B%E5%88%86%E5%AD%90%E8%B6%8B%E5%90%8C%E8%BF%9B%E5%8C%96%E4%BF%A1%E5%8F%B7/"/>
<url>2021/04/11/%E5%A6%82%E4%BD%95%E4%BB%8E%E5%9F%BA%E5%9B%A0%E7%BB%84%E6%B0%B4%E5%B9%B3%E6%A3%80%E6%B5%8B%E5%88%86%E5%AD%90%E8%B6%8B%E5%90%8C%E8%BF%9B%E5%8C%96%E4%BF%A1%E5%8F%B7/</url>
<content type="html"><![CDATA[<blockquote><p>趋同进化,是指亲缘关系较远的两个或多个类群由于长期处于相似的生活环境,受到相似的选择压力的影响从而进化出相似的功能或表型特征。例如,鸟类与蝙蝠为了适应飞行进化出相似的翅膀,鲨鱼与鲸类为了适应水生生活进化出流线型体型。</p></blockquote><hr><p><img alt="Fig 1" data-src="https://upload-images.jianshu.io/upload_images/8553338-0df44fdde817f881.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240" class="lazyload"><br><img alt="Fig 2" data-src="https://upload-images.jianshu.io/upload_images/8553338-0158bdd41ad7d5ea.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240" class="lazyload"></p><p><strong>趋同表型进化</strong>,为研究基因组<strong>如何编码表型</strong>以及<strong>量化进化的可重复性</strong>提供了独特的机会。解决这个问题通常会对具有共享相似表型的物种进行基因组测序,然后与不同表型的物种进行比较基因组学分析。然后,推断出在表型趋同进化的那些分支上特异性地核苷酸或者氨基酸位点替换,从而将<strong>基因进化</strong>与<strong>表型改变</strong>相关联。</p><p>通过近期大量地阅读文献,了解到目前可以通过从多个层面去揭示趋同进化的发生。</p><ol><li><p>基于系统发生推断,如Parker et al.(2013)研究了与哺乳动物回声定位进化相关的趋同进化,结果发现它们在鲸类中进化过一次,而在蝙蝠中进化过一次或两次。他们主要利用一种基于拓扑结构的方法,在近200个基因中发现了大量的趋同替换。<img alt="Fig 3" data-src="https://upload-images.jianshu.io/upload_images/8553338-7efe0176ee02f14a.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240" class="lazyload"></p></li><li><p>基于特异地氨基酸位点替换,Zhang and Kumar,1997. (Foote et al., 2015; Thomas and Hahn, 2015; Zou and Zhang, 2015b)。尤其是,Foote et al. (2015) 发现了海洋哺乳动物在适应水生环境生活的趋同进化。<img alt="Fig 4" data-src="https://upload-images.jianshu.io/upload_images/8553338-50090af6561e648c.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240" class="lazyload"></p></li></ol><ol start="3"><li><p>基于氨基酸性质的转变,Rey et al. (2018)研究认为特异氨基酸位点的替换仅仅是趋同进化的子集,而通过检测氨基酸性质的转变能够发现更多的趋同进化信号。<img alt="Fig 5" data-src="https://upload-images.jianshu.io/upload_images/8553338-bf30f4a6645ea783.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240" class="lazyload"></p></li><li><p>基于正选择基因富集通路水平,Sun at al. (2018)对沙蜥属以及倭蛙属高原适应相关的正选择基因进行了比较基因组学分析,结果发现尽管两栖类和爬行类分化久远,但它们依然在氧化应激,低氧应答通路上表现出趋同性,也进一步表明<strong>高原适应性的趋同进化更多地体现在功能上的趋同</strong>,而非特定的基因。<img alt="Fig 6" data-src="https://upload-images.jianshu.io/upload_images/8553338-e27565e98eb446c4.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240" class="lazyload"></p></li><li>基于基因进化速率,Chikina at al. (2016)认为据,对于趋同氨基酸的蛋白质组范围的检索效率较低,并且观察到的趋同变化可以通过不依赖于自适应驱动的趋同的<strong>中性模型</strong>来充分解释。因此,他们采用了一种新的分析流程,该流程侧重于那些在其整个基因进化速率中表现出趋同加速或减速的基因。<img alt="Fig 7" data-src="https://upload-images.jianshu.io/upload_images/8553338-30450a1dff74359e.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240" class="lazyload"></li></ol><p><strong>通过以上几种方法,可以看出趋同进化也是一个复杂的科学问题。为了更好地解决此问题,我们往往需要考虑问题的全面性。比如,趋同进化也可以由中性选择驱动,那么该如何确定适应性地趋同进化?此外,我们还要结合自己的数据,选取合适的方法来降低趋同进化检测的假阳性。如果有条件的话,实验证据也是必不可少的。</strong></p><p>由于测序技术的发展,目前有大约190个哺乳动物被测序。现在趋同进化往往是基于基因组水平分析,所以从进化速率并结合氨基酸位点检测的分析流程,是我个人比较青睐的。现将主要的分析步骤简要说明,列举如下:</p><p>a. 利用PAML软件包中aaml模型获取全基因组每个基因的进化速率。</p><p>b. 通过投影算子法,计算相对进化速率(基于标准化的全基因组进化速率);识别出趋同表型进化枝系相对进化速率较高或较低的基因。<strong>(要进行非参数检验,秩和检验,看P值是否显著)</strong></p><p>c. 同时也要设置姊妹群作为对照组,然后观测实验组与对照组之间是否具有显著差异。<strong>(Kolmogorov-Smirnov test,q值校正)</strong></p><p>d. 考虑一下,加速进化或减速进化是否与其他表型因素相关。</p><p>e. 加速进化是由于适应性进化还是选择约束放松引起的。主要通过PAML软件中的三个模型检测完成,M1 vs BS1(位点模型与枝位点模型的零假设进行统计比较),若拒绝M1,接受BS1,则是由于选择约束放松引起的。BS1 vs BS2(枝位点模型零假设与备择假设),若拒绝BS1,接受BS2,则是由于适应性进化引起的。(正选择是否是这些趋同表型进化物种所特有)</p><p>f. 最后,还要检测一下在这些相对进化速率趋同的基因,是否存在趋同氨基酸位点的替换。</p><p>参考文献:<br>Parker J, Tsagkogeorga G, Cotton JA, Liu Y, Provero P, Stupka E, Rossiter SJ. 2013. Genome-wide signatures of convergent evolution in echolocating mammals. Nature 502(7470):228–231.</p><p>Foote, A. D., Liu, Y., Thomas, G. W., Vinař, T., Alföldi, J., Deng, J., … & Khan, Z. (2015). Convergent evolution of the genomes of marine mammals. Nature genetics, 47(3), 272.</p><p>Rey, C., Guéguen, L., Sémon, M., & Boussau, B. (2018). Accurate detection of convergent amino-acid evolution with PCOC. Molecular biology and evolution, 35(9), 2296-2306.</p><p>Sun, Y. B., Fu, T. T., Jin, J. Q., Murphy, R. W., Hillis, D. M., Zhang, Y. P., & Che, J. (2018). Species groups distributed across elevational gradients reveal convergent and continuous genetic adaptation to high elevations. Proceedings of the National Academy of Sciences, 115(45), E10634-E10641.</p><p>Chikina, M., Robinson, J. D., & Clark, N. L. (2016). Hundreds of genes experienced convergent shifts in selective pressure in marine mammals. Molecular biology and evolution, 33(9), 2182-2192.</p>]]></content>
<categories>
<category> 生信分析 </category>
</categories>
<tags>
<tag> 趋同进化 </tag>
</tags>
</entry>
<entry>
<title>基因组共线性</title>
<link href="2021/04/10/%E8%81%8A%E8%81%8A%E5%85%B1%E7%BA%BF%E6%80%A7/"/>
<url>2021/04/10/%E8%81%8A%E8%81%8A%E5%85%B1%E7%BA%BF%E6%80%A7/</url>
<content type="html"><![CDATA[<blockquote><p>最近看了几篇关于共线性分析的微信/简书推送,发现不少研究人员把“编码基因共线性”错误地描述为“全基因组共线性”。这是两个完全不同的概念,前者主要是基于蛋白水平,蛋白的保守性很高,即使分化较远的物种间也能找到同源基因片段;而后者则是基于DNA水平,其中包含了大量的非编码片段,变异程度即使是在近缘物种间也非常大。那么,接下来就好好聊一聊什么是共线性?为什么进行全基因组共线性分析?以及如何进行全基因组共线性分析?</p></blockquote><h3 id="1-共线性"><a href="#1-共线性" class="headerlink" title="1. 共线性"></a>1. 共线性</h3><p>所谓的共线性主要是用来描述同一染色体上基因的位置关系,也就是指由同一祖先型分化而来的不同物种间基因的类型以及相对顺序的保守性(即<strong>基因的同源性+基因的排列顺序</strong>)。共线性片段的大小与物种之间的分化时间有很大关系:分化时间较短的物种间,积累的变异较少,会保留更多从祖先遗传下来的特征;相反的,分化时间较长的物种间由于变异积累而导致共有的特征变少,反而获得较短的共线性片段。此外,基因同源又可以分为直系同源和旁系同源。直系同源基因指存在于祖先基因组中,随后因为物种分化,分别遗传给不同的后代,这些基因在结构和功能上有很高的相似性。旁系同源基因指同一基因组中由于基因复制而产生的的同源基因,这些基因往往变异较大,从而可能出现功能变异。<br><img data-src="https://cdn.jsdelivr.net/gh/yuzhenpeng/blogPic/tmp/20210411140504.jpg" class="lazyload"></p><h3 id="2-共线性分析的应用"><a href="#2-共线性分析的应用" class="headerlink" title="2.共线性分析的应用"></a>2.共线性分析的应用</h3><p>测序发展初期,人们只能测得部分序列,但这些数据量少,不利于全面分析基因功能。另外,单个物种基因组序列也无法完整的描述该物种的全面信息,而且也无法挖掘真正的进化事件,比如基因丢失、基因获得等。近几年,随着测序技术的快速发展,为大规模的全基因组测序创造了很好的条件。而比较基因组的出现,更是进一步推动了近缘物种或个体的全基因组测序,其中比较基因组中很大的一部分工作就是集中在全基因组比对上。</p><p>共线性分析是比较基因组中必不可少的分析策略,因为它允许分析物种间大尺度和小尺度的分子进化事件。大尺度进化事件主要包括对基因组内重排和复制事件的估计,例如,可以使用人与小鼠之间的全基因组比对来识别共线性同源区块,然后确定重排事件,从而解释两个基因组结构差异。小尺度进化事件则是针对基因组水平的碱基替换速率以及插入、缺失事件。从共线性片段中可以识别出的物种间小尺度和大尺度突变事件,这些都可以作为物种树推断数据。此外,结合构建的两个尺度的基因组进化模型,共线性比对还能够完成祖先基因组重建的任务。</p><p>由于基因组共线性通常可以预测同源序列,并且同源序列可能具有相似的功能,因此全基因组共线性分析对于功能预测是十分有价值的。可以通过在整个基因组的核苷酸水平上对齐,从而可以帮助预测编码和非编码区域的功能。 例如,如果我们对人类基因组中特定的疾病相关区域感兴趣,我们可能会使用对齐来识别其小鼠同源基因的位置。 通过对小鼠同源片段的了解将使我们能够更好地了解这个基因组区域的进化历史,并可能进行遗传操作实验。</p><h3 id="3-基因组共线性比对工具"><a href="#3-基因组共线性比对工具" class="headerlink" title="3.基因组共线性比对工具"></a>3.基因组共线性比对工具</h3><p>全基因组比对需要消耗的计算机内存很大,而且运行时间较长。另外,由于基因组复制事件广泛存在,尤其是植物基因组,可能无法很好地区分旁系同源基因,容易产生大量的假阳性比对结果。因此,选择合适的基因组比对软件尤其重要。目前比较成熟的基于全基因组共线性比对分析的软件有:MUMmer、progressiveMauve、Mugsy、LAST、Lastz、Cactus。</p><p><strong>MUMmer</strong> MUMmer是一种非常快速的pairwise基因组比对工具,能够在四个小时内完成人类和黑猩猩的全基因组比对。它是通过使用后缀树数据结构来找到两个基因组之间的所有最大唯一匹配,从而达到了这一速度。MUMmer适用于非常近缘物种之间的基因组比对,尽管速度较快,但其灵敏度比LAST/lastZ要低。</p><p><em>**progressiveMauve</em> progressiveMauve是一款以java编写的全基因组比对软件,具有可视化界面,便于之间查看比对结果,比对效果较好适用于细菌基因组的比对。此外,需要注意的是progressiveMauve采用的比对策略是无参比对。</p><p><strong>Mugsy</strong> Mugsy比对速度快,效率高,而且比对的长度较长,但主要适用于近缘物种之间的比较,对于进化距离较远的物种比对效果不太理想。</p><p><strong>LAST</strong> LAST的优势在于能够处理较大基因组(如脊椎动物基因组)之间的比较,而且具有很快的比对速度。但是,它目前还无法进行有gap的比对,这也在一定程度上导致它的比对长度较短,数量较多。另外,LAST能够有效的处理含有重复序列的区域,因为它采用的是可变长度的种子序列,大大改善了比对的效率。</p><p><strong>Lastz</strong> Lastz相比于LAST而言,它能够允许基因组中少量gap的存在,比对长度较长,适用远缘物种之间的全基因组比对(如脊椎动物),其灵敏度稍稍低于LAST,速度也要比LAST慢一些。</p><p><strong>Cactus</strong> Cactus主程序其实是打包了Lastz,但是它自身又采用了无参比对的策略,可以直接重构祖先的染色体序列。</p><h4 id="值得推荐的软件:-LAST、Lastz、Cactus"><a href="#值得推荐的软件:-LAST、Lastz、Cactus" class="headerlink" title="值得推荐的软件: LAST、Lastz、Cactus"></a>值得推荐的软件: LAST、Lastz、Cactus</h4><p>参考链接:<a href="https://link.springer.com/protocol/10.1007/978-1-4939-9074-0_4" target="_blank" rel="noopener">https://link.springer.com/protocol/10.1007/978-1-4939-9074-0_4</a></p>]]></content>
<categories>
<category> 生信分析 </category>
</categories>
<tags>
<tag> 多序列比对 </tag>
</tags>
</entry>
<entry>
<title>PAML选择压力分析</title>
<link href="2019/12/24/paml/"/>
<url>2019/12/24/paml/</url>
<content type="html"><![CDATA[<blockquote><blockquote><p>Hi PAML Users,<br>Welcome to the PAML discussion group. This site is for posting questions and discussions of the PAML software package. PAML stands for Phylogenetic Analysis by Maximum Likelihood. </p></blockquote><footer><strong>Ziheng Yang,PAML: Phylogenetic Analysis by Maximum Likelihood</strong></footer></blockquote><p><strong>PAML</strong>是一个用最大似然法来对DNA和蛋白质序列进行系统发育分析的软件包,此软件由杨子恒教授开发,最新版本为v. 4.9 j。</p><p>此笔记主要用于记录PAML分析中遇到的一些问题,并长期更新。<br><a id="more"></a></p><div align="center"><br><img width="50%" height="50%" data-src="https://media.springernature.com/full/springer-static/image/art%3A10.1038%2Fs41559-019-0834-1/MediaObjects/41559_2019_834_Fig1_HTML.png" class="lazyload"><br></div><hr><h2 id="参考链接"><a href="#参考链接" class="headerlink" title="参考链接"></a>参考链接</h2><p><a href="http://abacus.gene.ucl.ac.uk/software/paml.html" target="_blank" rel="noopener"><strong>PAML主页</strong></a><br><a href="http://abacus.gene.ucl.ac.uk/software/pamlDOC.pdf" target="_blank" rel="noopener"><strong>PAML手册</strong></a><br><a href="http://abacus.gene.ucl.ac.uk/software/pamlFAQs.pdf" target="_blank" rel="noopener"><strong>PAML FAQs</strong></a><br><a href="http://www.chenlianfu.com/?p=3036" target="_blank" rel="noopener"><strong>陈连福的博客</strong></a><br><a href="https://user.qzone.qq.com/58001704?source=grouplist" target="_blank" rel="noopener"><strong>高芳銮老师的QQ空间</strong></a><br><a href="https://evosite3d.blogspot.com/search?updated-max=2011-10-14T02:45:00-07:00&max-results=7&start=21&by-date=false" target="_blank" rel="noopener"><strong>Evosite3D</strong></a><br><a href="http://www.lorenzogatti.me/2016_FiPS_Tutorials/solutions_tutorial02.html" target="_blank" rel="noopener"><strong>Tutorial 2: Evaluating selection pressure with codon models</strong></a><br><a href="http://evomics.org/learning/phylogenetics/paml/" target="_blank" rel="noopener"><strong>EVOLUTION AND GENOMICS</strong></a><br><a href="https://groups.google.com/forum/#!forum/pamlsoftware" target="_blank" rel="noopener"><strong>PAML discussion group</strong></a></p><hr><h2 id="一-PAML可以做什么?"><a href="#一-PAML可以做什么?" class="headerlink" title="一. PAML可以做什么?"></a>一. PAML可以做什么?</h2><ul><li><strong>系统发育树的检验与比较</strong>;</li><li><strong>复杂替代模型中参数的估计</strong>;</li><li><strong>对不同假设模型进行似然率假设性检验</strong>;</li><li><strong>基于全局或局部分子钟模型估算分歧时间</strong>;</li><li><strong>使用核酸,氨基酸和密码子模型重构祖先序列</strong>;</li><li><strong>Monte Carlo模拟生成核酸,密码子和氨基酸序列数据集</strong>;</li><li><strong>估算同义和非同义替代率和检测蛋白编码DNA序列中的正选择</strong>;</li><li><strong>贝叶斯估算物种的分歧时间来合并化石尺度上的不确定性</strong>;</li></ul><blockquote><p>蛋白编码基因(protein coding sequence)的自然选择压力水平可以通过dN/dS(ω)值的大小来衡量,其中,dS代表同义替换率(synonymous rate),dN代表非同义替换率(non-synonymous rate)。在没有受到选择压力时,同义替换率和非同义替换率相等,此时dN/dS = 1;当受到负选择或净化选择压力时,自然选择会阻止氨基酸发生改变,同义替换率会大于非同义替换率,即dN/dS < 1;当受到正选择压力时,氨基酸的置换率会受自然选择的青睐,即蛋白功能可能会发生适应性改变,此时dN/dS > 1。</p><footer><strong>PAML理论基础原则</strong></footer></blockquote><p><strong>PAML简易流程</strong><br><img alt="图片引自高芳銮老师课件" data-src="https://i.loli.net/2019/12/24/8PbAzm6ItoNR5Fq.png" class="lazyload"></p><h2 id="二-如何运行PAML"><a href="#二-如何运行PAML" class="headerlink" title="二. 如何运行PAML"></a>二. 如何运行PAML</h2><p>要正常运行paml软件,需要四个标准文件:</p><ol><li><strong>tree文件</strong>:Newick格式的树文件,主要包括分析涉及物种的系统发生关系,物种名必须与序列比对里面的物种名保持一致,否则会报错。</li><li><strong>fasta</strong>文件:fasta格式的多序列比对文件,通过要经过mafft、prank等软件进行比对,在经过gblocks、trimal等质量过滤软件处理后获得,<strong>序列长度必须为3的倍数且不允许存在终止密码子</strong>。</li><li><strong>codeml.ctl</strong>:paml软件的参数控制文件,通过修改该文件参数,实现模型切换</li><li><strong>codeml.exe</strong>:该软件的可执行文件<div align="center"><br><img width="80%" height="80%" data-src="https://i.loli.net/2019/12/24/1Ei4PAkdQW5hYKC.png" class="lazyload"><br></div></li></ol><p>多序列比对与质量过滤在正选择分析以及系统发育研究中尤其重要,关乎到所有分析结果的正确与否。如何正确的处理编码序列,在之前的博文中已经详细说明,此处不在赘述。这里,主要强调一下控制文件的设置:<br><figure class="highlight plain"><figcaption><span>codeml.ctl</span></figcaption><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br></pre></td><td class="code"><pre><span class="line">*输入输出参数:</span><br><span class="line"> seqfile = input.txt *设置输入的多序列比对文件路径。</span><br><span class="line"> treefile = input.trees *设置输入的树文件路径。</span><br><span class="line"> outfile = mlc *设置输出文件路径。</span><br><span class="line"> noisy = 9 *设置输出到屏幕上的信息量等级:0,1,2,3,9。</span><br><span class="line"> verbose = 0 *设置输出到结果文件中的信息量等级:0,精简模式结果(推荐);1,输出详细信息,包含碱基序列;2,输出更多信息。</span><br><span class="line"> getSE = 0 *设置是否计算并获得各参数的标准误:0,不需要;1,需要。</span><br><span class="line"> RateAncestor = 1 *设置是否计算序列中每个位点的替换率:0,不需要;1,需要。当设置成1时,会在结果文件rates中给出各个位点的碱基替换率;同时也会进行祖先序列的重构,在结果文件rst中有体现。</span><br><span class="line"></span><br><span class="line">*数据使用说明参数:</span><br><span class="line"> runmode = 0 *设置程序获取进化树拓扑结构的方法:0,直接从输入文件中获取进化树拓扑结构(推荐);1,程序以输入文件中的多分叉树作为起始树,并使用星状分解法搜索最佳树;2,程序直接以星状树作为起始树,并使用星状分解法搜索最佳树;3,使用逐步添加法搜索最佳树;4,使用简约法获取起始树,再进行邻近分枝交换寻找最优树;5,以输入文件中的树作为起始树,再进行邻近分枝交换寻找最优树;-2,对密码子序列进行两两比较并使用ML方法计算DnDs,或对蛋白序列进行两两比较计算ML距离,而不进行其它参数(枝长和omega等)的计算。</span><br><span class="line">* fix_blength = 0 *设置程序处理输入树文件中枝长数据的方法:0,忽略输入树文件中的枝长信息;-1,使用一个随机起始进行进行计算;1,以输入的枝长信息作为初始值进行ML迭代分析,此时需要注意输入的枝长信息是碱基替换率,而不是碱基替换数;2,不需要使用ML迭代计算枝长,直接使用输入的枝长信息,需要注意,若枝长信息和序列信息不吻合可能导致程序崩溃;3,让ML计算出的枝长和输入的枝长呈正比。</span><br><span class="line"> seqtype = 1 *设置输入的多序列比对数据的类型:1,密码子数据;2,氨基酸数据;3,输入数据虽然为密码子序列,但先转换为氨基酸序列后再进行分析。</span><br><span class="line"> CodonFreq = 2 *设置密码子频率的计算算法:0,表示除三种终止密码子频率为0,其余密码值频率全部为1/61;1,程序分别计算三个密码子位点的四种碱基频率,再算四种碱基频率在三个位点上的算术平均值,计算61种密码子频率时,使用该均值进行计算,这61种密码子频率之和不等于1,然后对其数据标准化,使其和为1,得到所有密码子的频率;2,程序分别计算三个密码子位点的四种碱基频率,计算61种密码子频率时,使用相应位点的碱基频率进行计算,这61种密码子频率之和不等于1,然后对其数据标准化,使其和为1,得到所有密码子的频率;3,直接使用观测到的各密码子的总的频数/所有密码值的总数,得到所有密码子的频率。一般选择第三种方法,设置CodonFre的值为2。第一种方法让所有密码子频率相等,不符合实际轻卡;第二种方法没有考虑到三种位点各碱基频率的差异,得到的密码子频率不准确;第三种方法能比较准确计算出各密码子的频率;第四种方法由输入数据得到真实的各密码子频率,但有时候有些非终止密码子的频率为0,可能不利于后续的计算。</span><br><span class="line"> cleandata = 1 *设置是否移除不明确字符(N、?、W、R和Y等)或含以后gap的列后再进行数据分析:0,不需要,但在序列两两比较的时候,还是会去除后进行比较;1,需要,**有可能会导致运行失败**。</span><br><span class="line">* ndata = 1 *设置输入的多序列比对的数据个数。</span><br><span class="line"> clock = 0 *设置进化树中各分支上的变异速率是否一致,服从分子钟理论:0,变异速率不一致,不服从分子钟理论(当输入数据中物种相差较远时,各分支变异速率不一致);1,所有分枝具有相同的变异速率,全局上服从分子钟理论;2,进化树局部符和分子钟理论,程序认为除了指定的分支具有不同的进化速率,其它分枝都具有相同的进化速率,这要求输入的进化树信息中使用#来指定分支;3,对多基因数据进行联合分析。</span><br><span class="line"> Mgene = 0 *设置是否有多个基因的多序列比对信息输入,以及多各基因之间的参数是否一致:0,输入的多序列比对文件中仅包含一个基因时,或多个基因具有相同的Kappa和Pi参数;1,输入文件包含多个基因,这些基因之间是相互独立的(这些基因之间具有不同的Kappa和Pi值,且其进化树的枝长也不相关);2,输入文件包含多个基因,这些基因具有相同的Kappa值,不同的Pi值;3,输入文件包含多个基因,这些基因具有相同的Pi值,不同的Kappa值;4,输入文件包含多个基因,这些基因具有不同的Kappa值和不同的Pi值。当值是2、3或4时,多个基因的进化树枝长虽然长度不一样,但是呈正比关系。这点和参数值等于1是不一样的。</span><br><span class="line"> icode = 0 *设置遗传密码。其值1-10和NCBI的1-11遗传密码规则对应:0,表示通用的遗传密码。</span><br><span class="line"> Small_Diff = .5e-6 *设置一个很小的值,一般位于1e-8到1e-5之间。推荐检测设置不同的值在比较其结果,需要该参数值对结果没什么影响。</span><br><span class="line"></span><br><span class="line">*位点替换模型参数:</span><br><span class="line"> model = 1 *若输入数据是密码子序列,该参数用于设置branch models,即进化树各分枝的omega值的分布:0,进化树上所有分枝的omega值一致;1,对每个分枝单独进行omega计算;2,设置多类omega值,根据树文件中对分枝的编号信息来确定类别,具有相同编号的分枝具有相同的omega值,没有编号的分枝具有相同的omega值,程序分别计算各编号和没有编号的omega值。</span><br><span class="line"> *若输入数据是蛋白序列,或数据是密码子序列且seqtype值是3时,该参数用于设置氨基酸替换模型:0,Poisson;1,氨基酸替换率和氨基酸的观测频率成正比;2,从aaRatefile参数指定的文件路径中读取氨基酸替换率信息,这些信息是根据经验获得,并记录到后缀为.dat的配置文件中。这些经验模型(Empirical Models)文件位于PAML软件安装目录中的dat目录下,例如,Dayhoff(dayhoff.dat)、WAG(wag.dat)、LG(lg.dat)、mtMAN(mtman.dat)和mtREV24(mtREV24.dat)等;</span><br><span class="line"> aaRatefile = dat/wag.dat *当对蛋白数据进行分析,且model = 2时,该参数生效,用于设置氨基酸替换模型。</span><br><span class="line"> aaDist = 0 *设置氨基酸之间的距离。</span><br><span class="line"> NSsites = 0 *输入数据时密码子序列时生效,用于设置site model,即序列各位点的omega值的分布:0,所有位点具有相同的omega值;1,各位点上的omega值小于1或等于1(服从中性进化neutral);2,各位点上的omega值小于1、等于1或大于1(选择性进化selection);3,discrete;4,freq;5:gamma;6,2gamma;7,beta;8,beta&w;9,beta&gamma;10,beta&gamma+1;11,beta&normal>1;12,0&2normal>1;13,3normal>0。</span><br><span class="line"> *可以一次输入多个模型进行计算并比较,其结果输出的rst文件中。</span><br><span class="line"> fix_alpha = 1 *序列中不同的位点具有不同的碱基替换率,服从discrete-gamma分布,该模型通过alpha(shape参数)和ncatG参数控制。该参数设置是否给定一个alpha值:0,使用ML方法对alpha值进行计算;1,使用下一个参数设置一个固定的alpha值。</span><br><span class="line"> *对于密码子序列,当NSsites参数值不为0或model不为0时,推荐设置fix_alpha = 1且alpha = 0,即不设置alpha值,认为位点间的变异速率一致,否则程序报错。若设置了alpha值,则程序认为不同密码子位点的变异速率不均匀,且同时所有位点的omega值一致,当然各分枝的omega值也会一致,这时要求NSsites和model参数值都设置为0(这一般不是我们需要的分析,它不能进行正选择分析了)。</span><br><span class="line"> alpha = 0 *设置一个固定的alpha值或初始alpha值(推荐设置为0.5)。该值小于1,表示只有少数热点位置的替换率较高;该值越小,表示位点替换率在各位点上越不均匀;若设置fix_alpha = 1且alpha = 0则表示所有位点的替换率是恒定一致的。</span><br><span class="line"> Malpha = 0 *当输入的多序列比对结果中有多基因时,设置这些基因间的alpha值是否相等:0,分别对每个基因单独计算alpha值;1,所有基因的alpha值保持一致。</span><br><span class="line"> ncatG = 8 *序列中不同位点的变异速率服从GAMMA分布的,ncatG是其一个参数,一般设置为5,4,8或10,且序列条数越多,该值设置越大。</span><br><span class="line"> *对于密码子序列,当NSites设置为3时,ncatG设置为3;当NSites设置为4时,ncatG设置为5;当NSites值设置>=5时,ncatG值设置为10。</span><br><span class="line"> fix_kappa = 0 *设置是否给定一个Kappa值:0,通过ML迭代来估算Kappa值;1,使用下一个参数设置一个固定的Kappa值。</span><br><span class="line"> kappa = 2 *设置一个固定的Kappa值,或一个初始的Kappa值。</span><br><span class="line"> fix_omega = 0 *设置是否给定一个omega值:0,通过ML迭代来估算Kappa值;1,使用下一个参数设置一个固定的omega值。 </span><br><span class="line"> omega = .4 *设置一个固定的omega值,或一个初始的omega值。</span><br><span class="line"> method = 0 *设置评估枝长的ML迭代算法:0,使用PAML的老算法同时计算所有枝长,在clock = 0下有效;1,PAML新加入的算法,一次对一个枝长进行计算,该算法仅在clock参数值为1,2或3下工作。</span><br></pre></td></tr></table></figure></p><p>树文件设置:<br><figure class="highlight plain"><figcaption><span>Examples:</span></figcaption><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><span class="line">(((1,2),3),4,5);</span><br><span class="line">((((1,2),3),4),5);</span><br><span class="line">(((1:0.1, 2:0.2):0.8, 3:0.3):0.7, 4:0.4, 5:0.5);</span><br><span class="line">(((Human:0.1, Chimpanzee:0.2):0.8, Gorilla:0.3):0.7,Orangutan:0.4, Gibbon:0.5); </span><br></pre></td></tr></table></figure><br>需要注意的是,Newick格式的树尾部一定要有分号,没有的话程序无法正常运行。</p><h2 id="三-PAML分析四大模型"><a href="#三-PAML分析四大模型" class="headerlink" title="三.PAML分析四大模型"></a>三.PAML分析四大模型</h2><p>在paml分析里面,主要涉及四种模型:位点模型(site-model)、支模型(branch model)、支位点模型(branch site model)以及进化支模型。位点模型通常适用于检测某一支系普遍性、广泛性的正选择,这种正选择是由于位点持续改变所引起的,例如,适应多种病原体;支模型主要是检测某一支系是否存在快速进化、选择压力约束以及正选择,但却无法检测到正选择位点;支位点模型比较准确与稳定,适用于检测某一支系断点性的正选择事件,此结果是由于适应某一时期环境改变所引起的,通常会保留在后代中;进化支模型(clade model),则主要是判别不同物种之间是否存受分化选择压力作用,不局限于正选择,它一次可以标记多个分支进行比较。</p><h3 id="1-位点模型"><a href="#1-位点模型" class="headerlink" title="1. 位点模型"></a><strong>1. 位点模型</strong></h3><p><strong>M0</strong>:假设所有位点具有相同的dN/dS值;<br><strong>M1a</strong>:假设存在两类位点—保守位点0 < dN/dS < 1,中性进化位点dN/dS = 1,并且估算这两类位点的比率(p0,p1)和ω值(ω0,ω1);<br><strong>M2a</strong>:假设存在三类位点——纯化选择位点dN/dS < 1,中性进化位点dN/dS = 1与正选择位点dN/dS > 1,并估算三类位点的比率(p0,p1,p2);<br><strong>M3</strong>: 离散模型,假设所有位点的ω值呈离散分布;<br><strong>M7</strong>:假设所有位点0 < ω <1且呈现beta分布;<br><strong>M8</strong>:在M7模型的基础上,增加一类正选择位点(ω >1 );<br><strong>M8a</strong>:与M8类似,只不过是将新增的ω固定为1;</p><p><strong>位点模型的Codeml.ctl参数设置:</strong><br><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br></pre></td><td class="code"><pre><span class="line">model = 0 </span><br><span class="line">NSsites = 0 1 2 3 7 8</span><br><span class="line">即分别比较如下模型(* 为正选择模型,前提是需要LRTs显著):</span><br><span class="line">M3(分散比率) vs. M0(负选择)</span><br><span class="line">M2a* (正选择)vs. M1a (选择约束放松)</span><br><span class="line">M8*(正选择) vs. M7 (选择约束放松)</span><br><span class="line">M8* (正选择)vs. M8a(选择约束放松)</span><br></pre></td></tr></table></figure></p><hr><h3 id="2-支模型"><a href="#2-支模型" class="headerlink" title="2.支模型"></a>2.支模型</h3><p><strong>one rario</strong>:假设所有的进化谱系都具有相同的ω值;<br><strong>free ratio</strong>:假设所有的支系都具有独立的ω值;<br><strong>two ratio</strong>:假设前景支与背景支的ω不同</p><p><strong>分支模型的Codeml.ctl参数设置:</strong><br><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br></pre></td><td class="code"><pre><span class="line">two ratio: model = 2, NSsites = 0 </span><br><span class="line">one ratio: model = 0, NSsites = 0</span><br><span class="line">free ratio: model = 1, NSsites = 0</span><br><span class="line"> </span><br><span class="line">one ratio(负选择) vs. free ratio(自由比率)</span><br><span class="line">one ratio(负选择) vs. two ratio (正选择)</span><br><span class="line">two ratio natural(中性进化) vs. two ratio (正选择)</span><br></pre></td></tr></table></figure></p><hr><h3 id="3-支位点模型"><a href="#3-支位点模型" class="headerlink" title="3.支位点模型"></a>3.支位点模型</h3><p>假定位点间的ω值是变化的,同时也假定支系间的ω值是变化的。该模型主要用于检测前景支中正选择作用对部分位点的影响。<br><strong>modelA null(零假设)</strong>:ω值设定为固定值1<br><strong>modelA(备择假设)</strong>:估算其ω值是否大于1<br>背景支与前景支具有相同的位点ω值:<br>K0:前景支与背景支中的位点受到纯化选择0 < ω < 1;<br>K1:前景支与背景支中的位点处于中性进化0 < ω = 1;<br>背景支与前景支具有不同的位点ω值:<br>K2a:前景支处于中性进化,而背景支处于纯化选择;<br>K2b:前景支受到正选择压力( ω>1 ),而背景支处于中性进化;<br><strong>支位点模型的的Codeml.ctl参数设置:</strong></p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br></pre></td><td class="code"><pre><span class="line">ModelA:</span><br><span class="line">model = 2, NSsites = 2, fix_omega = 0, omega = 1.5</span><br><span class="line">ModelAnull:</span><br><span class="line">model = 2, NSsites = 2, fix_omega = 1, omega = 1</span><br><span class="line">即比较如下模型(* 为正选择模型,前提是需要LRTs显著):</span><br><span class="line">ModelA*(正选择) vs. ModelAnull (中性进化)</span><br></pre></td></tr></table></figure><hr><h3 id="4-进化支模型"><a href="#4-进化支模型" class="headerlink" title="4.进化支模型"></a>4.进化支模型</h3><p>与枝位点模型类型,能同时检测多个进化枝(Clade),但是该模型并没有将背景支的dN/dS值约束在(0,1)。<br><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><span class="line">M2a_model: model = 0 NSsites = 22</span><br><span class="line">Clade Model C: model = 3 NSsites = 2</span><br><span class="line">Clade Model D: model = 3 NSsites = 3</span><br><span class="line">Clade Model C vs. M2a_model</span><br></pre></td></tr></table></figure><br><img alt="**成对模型检测" data-src="https://upload-images.jianshu.io/upload_images/13242443-55e83f8a855f7b9d.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240" class="lazyload"></p><hr><h2 id="四-PAML-FAQ"><a href="#四-PAML-FAQ" class="headerlink" title="四.PAML FAQ"></a>四.PAML FAQ</h2><h4 id="1-有根树与无根树"><a href="#1-有根树与无根树" class="headerlink" title="1. 有根树与无根树"></a>1. 有根树与无根树</h4><p>简单的区别方法就是,有根树的祖先节点是二叉树,而无根树为三叉树,举个例子:<br><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><span class="line">((1,2),3); <span class="comment"># 有根树</span></span><br><span class="line">(1,2,3); <span class="comment">#无根树</span></span><br><span class="line">(((1,2),3),4); <span class="comment"># 有根树</span></span><br><span class="line">((1,2),3,4); <span class="comment">#无根树</span></span><br><span class="line">(1,2,(3,4)); <span class="comment">#无根树</span></span><br></pre></td></tr></table></figure><br>在使用codeml时,如果没有指定有根树参数却使用了有根树作为输入,那么在输出结果中将会得到这样的报错信息:<code>"This is a rooted tree. Please check!"</code>。对于大多数模型,即使使用有根树,其该模型似然值仍然是正确的,但是root周围两个分支的长度不稳定,因为它们的和是估计值。对于其他模型,似然估计和参数估计都是不正确的。<strong>因此,分析时确实应该注意到这一信息,并尽可能使用一棵无根树。</strong>我们可以使用R包<strong>ape</strong>将有根树转换为无根树:<br><figure class="highlight r"><figcaption><span>ape</span></figcaption><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br></pre></td><td class="code"><pre><span class="line">setwd(<span class="string">"C:/Users/lenovo/Desktop/"</span>)</span><br><span class="line"><span class="keyword">library</span>(ape)</span><br><span class="line">tr <- read.tree(<span class="string">"tree.txt"</span>)</span><br><span class="line">unrooted_tr <- unroot(tr)</span><br><span class="line">write.tree(unrooted_tr, <span class="string">"tree_unrooted.txt"</span>)</span><br><span class="line">** 如果你有多个树需要转换,可以使用lapply函数操作**</span><br><span class="line">write.tree(lapply(trees, unroot), <span class="string">"trees_unrooted.tr"</span>)</span><br></pre></td></tr></table></figure></p><h4 id="2-是否删除多序列比对中的gap与模糊字符"><a href="#2-是否删除多序列比对中的gap与模糊字符" class="headerlink" title="2.是否删除多序列比对中的gap与模糊字符"></a>2.是否删除多序列比对中的gap与模糊字符</h4><p>在多序列比对过程中,对齐gap是极其困难的,paml软件包没有办法无法处理gap。因此,我们可以通过设置<code>cleandata = 1</code>来去除gap;此外,还可以将gap当作为模糊字符进行处理。但是,这都不是最好的解决办法,这两种策略都低估了序列差异。<strong>就个人而言,我认为除了一个或两个序列之外,大多数序列都有序列信息的位点也许应该保留,而除了一个或两个序列之外,所有序列都有对齐间隙的位点最好被移除。因此,选择合适的多序列比对软件以及过滤软件,尤其重要。</strong></p><h4 id="3-当前景支的dN-dS值显著大于背景支时,该如何解释"><a href="#3-当前景支的dN-dS值显著大于背景支时,该如何解释" class="headerlink" title="3.当前景支的dN/dS值显著大于背景支时,该如何解释"></a>3.当前景支的dN/dS值显著大于背景支时,该如何解释</h4><p>如果检测前景支时,其dN/dS > 1时,我们可以认为它受到正选择作用。但是,如果其dN/dS <1但大于背景支时,就不能认为它是受正选择作用的,选择压力约束放松可能是较为合理的解释。此外,在<code>Ohta's</code>的微有害突变假说下,净化选择在大种群中比在小种群中更有效,因此不同谱系的种群规模的差异提供了另一个相容的假设。如果氨基酸的变化是稍微有害的,我们预计在大群体中它们从群体中移除的速度会比在小群体中更高。因此,即使两系在选择压力或基因功能上没有差异,我们也期望在一个大群体中看到一个较小的dN/dS比值,例如,许多核基因的dN/dS比值在啮齿类动物中低于灵长类或偶蹄类。</p><h4 id="4-不同的模型鉴定出不同的位点,该选择相信哪一种模型?"><a href="#4-不同的模型鉴定出不同的位点,该选择相信哪一种模型?" class="headerlink" title="4.不同的模型鉴定出不同的位点,该选择相信哪一种模型?"></a>4.不同的模型鉴定出不同的位点,该选择相信哪一种模型?</h4><p>通常,如果一个位点在一种模型下出现在列表中,那么在另一种模型下也会有相当大的概率。如果你以这种方式看待它们,结果可能没有太大不同。确定位点的问题很困难,而且容易出错。这种情况类似于从一个班级中得到排名前几的学生。列表包含的内容越多,质量就越差。因此,我们通常会认为后验概率大于95%或者99%的位点,是比较可信的。</p><h4 id="5-如何标记前景支"><a href="#5-如何标记前景支" class="headerlink" title="5.如何标记前景支"></a>5.如何标记前景支</h4><p>如果你是关注某一个节点,则可以使用”#”;如果是关注某一类群,则可以使用”$”。对于位点模型以及free ratio分析,无需标注前景支;对于支模型以及进化支模型,单次分析可以标注多个前景支;但支位点模型单次分析仅能标注一个前景支。</p><figure class="highlight"><figcaption><span>tree.nex</span></figcaption><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">(((rabbit, rat) $<span class="number">1</span>, human), goat_cow, marsupial)</span><br><span class="line">(((rabbit #1, rat #1) #1, human), goat_cow, marsupial)</span><br></pre></td></tr></table></figure><p>上面的两个例子其实是等同的,因此<strong>$1</strong>可以标记大的分支,包括其祖先节点以及现生节点。而<strong>#1</strong>仅仅是表示末端枝或者祖先节点。</p><hr><p>这里有一些关于嵌套进化枝标签的规律。符号#的优先级高于\$,树顶端的进化枝标签优先于接近根处的祖先节点的进化枝标签。下面的两棵树也是一样。第一个树中\$1适用于整个胎盘哺乳动物的进化枝(除人类世系外),\$2适用于兔与鼠的进化枝。</p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">((((rabbit, rat) $2, human #3), goat_cow) $1, marsupial);</span><br><span class="line">((((rabbit #2, rat #2) #2, human #3) #1, goat_cow #1) #1, marsupial);</span><br></pre></td></tr></table></figure><hr><p>使用TreeView软件可以很方便的创建树文件并且检查树和标签是否正确。上面作为例子的树都可以被TreeView识别。在TreeView X中,你必须使用单引号来标记。如下:<br><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">((((rabbit '#2', rat '#2') '#2', human '#3') '#1', goat_cow '#1') '#1', marsupial);</span><br></pre></td></tr></table></figure></p><p>此外,还可以同时标注多个支为统一前景支,例如<br><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">(((a #1, b) c #1 d) e)</span><br></pre></td></tr></table></figure></p><h4 id="6-基因复制后选择压力检测"><a href="#6-基因复制后选择压力检测" class="headerlink" title="6.基因复制后选择压力检测"></a>6.基因复制后选择压力检测</h4><p><a href="https://groups.google.com/forum/#!topic/pamlsoftware/Od0ncljWE7Y" target="_blank" rel="noopener">链接1</a><br><a href="https://groups.google.com/forum/#!topic/pamlsoftware/kV0dUlCFW6U" target="_blank" rel="noopener">链接2</a><br><img alt data-src="https://09635808765226233564.googlegroups.com/attach/f1680dfaa08a822c/aw131017-komplett-blengths.png?part=0.1&view=1&vt=ANaJVrEiE5MwSp9y4p9hv0UTXCKUVxP2NxQc-Xg8l1u27UqWyS4DYPMwRS9bJ75gLorYLnCYQJD7dGELDxyLbAS-1R1Fl2_NX93rgyxNR2MudASYZ4DZUvw" class="lazyload"></p><p>某一基因,在动物祖先发生基因复制,分化为A,B两个不同支系。</p><h4 id="7-dN-dS代表进化速率而非突变率"><a href="#7-dN-dS代表进化速率而非突变率" class="headerlink" title="7. dN/dS代表进化速率而非突变率"></a>7. <a href="https://groups.google.com/forum/?utm_source=digest&utm_medium=email/#!topic/pamlsoftware/dOKGUDpbYJ8" target="_blank" rel="noopener">dN/dS代表进化速率而非突变率</a></h4><p>较高的dN/dS值可以解释为正选择或者快速进化。尽管突变本身也处于选择压力之中(大多数为净化选择),但不可以解释为“基因A增加了突变的选择压力”,因为突变是随机发生的。原则上讲,突变率会同时影响dN、dS,但通常dN/dS不受突变率影响。<br>dN/dS是一种进化速率,但它不是突变速率,因为同义和非同义替代率具有不同的选择约束水平。 选择压力测试的基本原理是:它假设同义替换是中性进行,也就是说,它们大多是在遗传漂移下进化的。如果这是真实情况,那么dS可以用作(中性)突变率的替代。然而,非同义替代率总是处于净化选择压力,在正选择下程度较小。因此,dN/dS是中性偏离的度量。所以,dN > dS,既dN/dS > 1,则受到正选择;如果dN小于dS,则dN/dS < 1,则是净化选择。选择压力测试的关键就是它通过特定基因的同义替换的“中性”进化速率归一化非同义替换的速率。</p><h4 id="8-基因树or物种树"><a href="#8-基因树or物种树" class="headerlink" title="8.基因树or物种树"></a>8.<a href="https://groups.google.com/forum/#!topic/pamlsoftware/BfmfovYEVFs" target="_blank" rel="noopener">基因树or物种树</a></h4><p>在任何情况下,使用代表真实演化历史的基因树都是最好的。但是,有时可能无法轻易判断是否符合真实演化历史,那么你可以选择物种树作为代替。基因组水平分析,那么推荐使用物种树。你可以可以使用基因树和物种树进行数据稳健性测试。</p><h4 id="9-祖先节点有正选择信号而整个枝系却没有检测到如何解释"><a href="#9-祖先节点有正选择信号而整个枝系却没有检测到如何解释" class="headerlink" title="9. 祖先节点有正选择信号而整个枝系却没有检测到如何解释"></a>9. 祖先节点有正选择信号而整个枝系却没有检测到如何解释</h4><p>如果以哺乳动物祖先为前景,假设该基因在共同祖先中存在适应性,可能是由于获得了新的功能,但随后该基因在净化选择下得到了保守进化。如果你把整个clade作为前景,那么假设该基因在整个哺乳动物中的所有分支都承受着持续的压力来改变或多样化,如果该基因涉及到防御或免疫,则可能是这种情况。</p><p>对于到底是检测祖先,还是整个枝系,取决于生物学问题。例如,溶菌酶在所有colobine猴子中都应该具有相同的功能,因此蛋白质在clade内被期望受到选择性约束,但在colobine clade的分支上,该酶显然获得了一个新的功能,其正选择驱动了氨基酸的变化。有了这个假设,你就应该把分支的祖先贴上clade的标签,而不是那些在clade中的分支。</p><h4 id="10-Clade模型判别背景支是否同样受正选择"><a href="#10-Clade模型判别背景支是否同样受正选择" class="headerlink" title="10.Clade模型判别背景支是否同样受正选择"></a>10.<a href="https://groups.google.com/forum/?utm_source=digest&utm_medium=email/#!topic/pamlsoftware/HWdRd3ZesnQ" target="_blank" rel="noopener">Clade模型判别背景支是否同样受正选择</a></h4><p>经常遇到审稿人的审稿意见是这样的:前景分支上正选择的基因的重要支持并不意味着在背景分支上没有正选择,这些基因可能仍在许多(即使不是全部)背景分支上处于正选择状态。为了检验原假设(基因仅在前景支受到正选择)是否正确,可以进一步通过Clade模型检验,因为进化枝模型允许在不限制背景dN/dS小于1的约束下估计前景支与背景支dS/dN的比率。</p><h4 id="11-基因受到正选择但无正选择位点"><a href="#11-基因受到正选择但无正选择位点" class="headerlink" title="11.基因受到正选择但无正选择位点"></a>11.<a href="https://groups.google.com/forum/?utm_source=digest&utm_medium=email/#!topic/pamlsoftware/j8VKor3t7ws" target="_blank" rel="noopener">基因受到正选择但无正选择位点</a></h4><p>一种可能性是,对整个基因有积极选择的证据,但每个单独位点的信息或证据太弱。 可以查看rst文件,该文件具有所有站点的后验概率,以查看是否是这种情况,mlc文件只列出后验概率高于0.5的文件。</p><h4 id="12-有正选择位点但是通过序列比对却找不到"><a href="#12-有正选择位点但是通过序列比对却找不到" class="headerlink" title="12. 有正选择位点但是通过序列比对却找不到"></a>12. <a href="https://groups.google.com/forum/?utm_source=digest&utm_medium=email/#!topic/pamlsoftware/6bgg8dOfxps" target="_blank" rel="noopener">有正选择位点但是通过序列比对却找不到</a></h4><p>可能是因为codeml在删除gap或模糊字符的列,之后重新编号位点了(cleandata =1)。</p><h4 id="13-dN-dS(ω)值过大,结果是否可信?"><a href="#13-dN-dS(ω)值过大,结果是否可信?" class="headerlink" title="13. dN/dS(ω)值过大,结果是否可信?"></a>13. dN/dS(ω)值过大,结果是否可信?</h4><p>遇到这种极大值的dN/dS时,比如ω = 999,首先要确保你的序列是否正确;其次,该位置的dn,ds是否远小于0.0001,枝长是否过小。显然,高度相似的序列和非常发散的序列都不是信息丰富的,很难指定确切的值。为了避免此类问题的出现,可以先通过M0模型获得枝长,再将具有分支长度的进化树应用到codeml,并在ctl中设置FIX_blength=2。</p><h4 id="14-Branch-site检测适应性趋同进化"><a href="#14-Branch-site检测适应性趋同进化" class="headerlink" title="14. Branch-site检测适应性趋同进化"></a>14. <a href="https://groups.google.com/forum/#!topic/pamlsoftware/aVj2opOg7PA" target="_blank" rel="noopener">Branch-site</a>检测适应性趋同进化</h4><p><img alt data-src="https://upload-images.jianshu.io/upload_images/13242443-28ba7ac1065edb6d.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/300" class="lazyload"><br>如图所示,红色分支代表表型趋同的进化分支,如果你想通过分支位点模型来检测适应性趋同进化,应该将所有红色分支统一设置为前景分支。当然,前提是假设所有前景支均具有相同的位点受到正选择。 对于背景支是否同样存在类似的适应性趋同,可以通过clade进化支模型进行检测。</p><h4 id="15-若p2(正选择位点概率)接近于0"><a href="#15-若p2(正选择位点概率)接近于0" class="headerlink" title="15. 若p2(正选择位点概率)接近于0"></a>15. 若p2(正选择位点概率)接近于0</h4><p><a href="https://groups.google.com/forum/#!topic/pamlsoftware/iSiGUDiw2xE" target="_blank" rel="noopener">p0/ω0,p1/ω1,p2=(1-p0-p1)/ω2</a>:在正选择分析的备择假设结果文件中,通常会获得三个p值,其中,p0代表处于净化选择下的位点概率;p1代表处于中性进化下的位点概率;p2则代表处于正选择下的位点概率。</p><h4 id="16-分支模型检测正选择"><a href="#16-分支模型检测正选择" class="headerlink" title="16.分支模型检测正选择)"></a>16.<a href="https://groups.google.com/forum/#!topic/pamlsoftware/naxp6R1Xe7M" target="_blank" rel="noopener">分支模型检测正选择</a>)</h4><p>可以使用two ratio备择假设(fix_omega = 0 omega = 1)与two ratio零假设(fix_omega = 1 omega = 1)进行统计假设检验。</p><h4 id="17-选择约束放松"><a href="#17-选择约束放松" class="headerlink" title="17. 选择约束放松"></a>17. <a href="https://groups.google.com/forum/?utm_source=digest&utm_medium=email/#!topic/pamlsoftware/cMyKKtLn-_s" target="_blank" rel="noopener">选择约束放松</a></h4><p>codeml检测选择约束放松可以通过2步完成:首先,确定dN/dS显著增加的情况(由于正选择或者选择约束放松);然后,过滤掉显著正选择的情况。</p><h4 id="18-不同模型下的起始ω"><a href="#18-不同模型下的起始ω" class="headerlink" title="18. 不同模型下的起始ω"></a>18. 不同模型下的起始ω</h4><p>针对于CladeC和CladeD模型,一般要设置几个不同的起始ω,测试其lnL值是否稳定(ω=0.001,ω=0.01,ω=0.1,ω=0.5,ω=1,ω=1.5),最终一般会选取lnL较大的值作为最终值。</p><h4 id="19-枝长会影响PAML结果"><a href="#19-枝长会影响PAML结果" class="headerlink" title="19. 枝长会影响PAML结果"></a>19. 枝长会影响PAML结果</h4><p>正常分析,应该先用M0估计树的枝长,Kappa值,然后用跑出来的树作为初始树,并设置<a href="https://groups.google.com/forum/#!topic/pamlsoftware/QpN2rWJyXzA" target="_blank" rel="noopener">fix_blength = 2</a>。</p><h4 id="20-基因家族选择压力分析"><a href="#20-基因家族选择压力分析" class="headerlink" title="20. 基因家族选择压力分析"></a>20. <a href="https://groups.google.com/forum/#!topic/pamlsoftware/6Prs7Q0HSzM" target="_blank" rel="noopener">基因家族选择压力分析</a></h4><p><a href="https://groups.google.com/forum/#!topic/pamlsoftware/bsfGWYHPCgA" target="_blank" rel="noopener">链接1</a><br><a href="https://groups.google.com/forum/#!topic/pamlsoftware/KqhrPFYnWMI" target="_blank" rel="noopener">链接2</a></p><h4 id="21-CladeC检测正选择"><a href="#21-CladeC检测正选择" class="headerlink" title="21. CladeC检测正选择"></a>21. <a href="https://groups.google.com/forum/#!topic/pamlsoftware/6d3HbVlc2c4" target="_blank" rel="noopener">CladeC检测正选择</a></h4><p>CladeC经常用于检测,不同分支的分化选择压力,但有时候检测到前景枝dN/dS>1,此时我们需要进一步利用CladeC的零假设进一步测试(fix_omega=1,omega=1),或者利用branch-site进一步验证一致性。</p><h4 id="22-Free-ratio检测结果是否可以作为正选择的证据"><a href="#22-Free-ratio检测结果是否可以作为正选择的证据" class="headerlink" title="22. Free ratio检测结果是否可以作为正选择的证据"></a>22. <a href="https://groups.google.com/forum/#!topic/pamlsoftware/HHsXMUCULW8" target="_blank" rel="noopener">Free ratio</a>检测结果是否可以作为正选择的证据</h4><p>free ratio模型估计通常会造成较大的抽样误差,例如,较短的分支通常会具有较大的dS/dN。所以,一般对于free ratio出现dN/dS > 999或者dN、dS < 0.0005结果不建议采用。</p><h4 id="23-dS-gt-5"><a href="#23-dS-gt-5" class="headerlink" title="23. dS>5"></a>23. <a href="https://groups.google.com/forum/#!topic/pamlsoftware/FCRSJMiNf78" target="_blank" rel="noopener">dS>5</a></h4><h4 id="24-CladeC模型检测多组支系选择压力差异"><a href="#24-CladeC模型检测多组支系选择压力差异" class="headerlink" title="24. CladeC模型检测多组支系选择压力差异"></a>24. <a href="https://groups.google.com/forum/?nomobile=true#!topic/pamlsoftware/fWrsbY9mWuU" target="_blank" rel="noopener">CladeC模型</a>检测多组支系选择压力差异</h4><p>在dataset中,有三个clade:A, B, C,那么在clade 1和clade 2之间是否存在显著差异?</p><p>假设,前景枝的标注如下所示:<br><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">((A1,A2)$1 , (B1,B2)$2 , (C1,C2)$0);</span><br></pre></td></tr></table></figure><br>首先,为了测试clades之间的显着差异,您可以比较CladeC与M2a_rel。M2a_rel假设$1、$2、$0等都是在相同的选择压力下进化的,这个测试应该有两个自由度。<br><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">(A1,a2)$1,(b1,b2)$1,(c1,c2)$0);</span><br></pre></td></tr></table></figure><br>其次,为了测试clade A和B之间的显着差异,同时允许clade C是不同的,您可以比较使用上面提供的树运行CMC与使用更简单的树运行CMC的契合程度。在这种情况下,更简单的树会将clade A和B分配给同一个组,这个测试应该有一个自由度。如下所示:</p><h4 id="25-多个前景支的支位点模型检测"><a href="#25-多个前景支的支位点模型检测" class="headerlink" title="25. 多个前景支的支位点模型检测"></a>25. <a href="https://groups.google.com/forum/#!topic/pamlsoftware/CO6a-eu__q0" target="_blank" rel="noopener">多个前景支的支位点模型检测</a></h4><p>当数据集中有多个前景支时:1)进行多个测试,然后在每个测试中设置一个感兴趣的分支作为前景分支;2)只进行一次测试,在此测试中中将所有感兴趣的分支设置为前景分支。那么,此时又会出现另一个问题就是进行多个测试时其他感兴趣分支是否应该被去除?这也许应该取决于具体的生物学问题。</p><h4 id="26-p值校正"><a href="#26-p值校正" class="headerlink" title="26.p值校正"></a>26.<a href="https://groups.google.com/forum/#!topic/pamlsoftware/9JhBZsxmLVM" target="_blank" rel="noopener">p值校正</a></h4><p><a href="https://groups.google.com/forum/#!topic/pamlsoftware/vty5QrRCUCk" target="_blank" rel="noopener">如果校正之后没有显著地,我们可以选择adjP排序</a></p>]]></content>
<categories>
<category> 生信分析 </category>
</categories>
<tags>
<tag> 选择压力检测 </tag>
</tags>
</entry>
<entry>
<title>直系同源基因多序列比对</title>
<link href="2019/11/29/multiple-sequence-alignment/"/>
<url>2019/11/29/multiple-sequence-alignment/</url>
<content type="html"><![CDATA[<blockquote><p>前几天,实验室的师弟师妹通过本地blast获取一些没有基因组注释物种的蛋白编码序列。原本以为可以快速地进行下一步的选择压力分析,没想到却在多序列比对这一环节出现了棘手的问题。以前,我都是经过PRANK软件进行多序列比对,然后再使用Gblocks软件对数据进行过滤的。现在,由于师弟师妹在拼接CDS序列时,有些碱基并不是保留3的倍数,造成很多编码序列出现移码突变,甚至变成了伪假基因(几百个基因)。虽然,现在可以进行多序列比对的软件有很多,比如Muscle、MAFFT、PRANK等,但它们均不能解决移码突变的问题。于是,我开始去google搜寻解决方案。功夫不负有心人,我最终找到了完美的解决办法,收获颇丰,所以把这个过程记录下来。</p></blockquote><p><img data-src="https://cdn.jsdelivr.net/gh/yuzhenpeng/blogPic/tmp/20210411141942.jpg" class="lazyload"></p><p><strong>多序列比对(multiple sequences alignment,MSA)</strong>是开展进化生物学研究的前提,后续可以进行选择压力分析以及推断物种系统发育历史。</p><p>多序列比对表示不同序列中的氨基酸/核苷酸的位点同源性。<strong>将序列比对用于进化分析时,处于相同位置的氨基酸/核苷酸位点则被认为在进化上是同源的,并且具有共同的祖先</strong>。通过研究序列比对中同源序列是如何随时间变化的,可以推断序列的结构和功能是如何进化的。比如,对多个物种同源序列的比较可以发现发生替换的位点,进而判断出哪个序列在哪个位置发生变化。另外,两个序列之间的长度差异可以通过删除一个序列中的现有碱基位点或插入另一个序列中的新碱基位点来解释。两个序列之间发生替换差异的进化谱系,可以用外群序列来解决,也可以通过推断两个序列的祖先的特征状态来解决。因此,以上所有情况的结论准确性很可能取决于多序列比对(MSA)的准确性。</p><p>最近的研究表明,MSA算法在分析基因组序列时会产生不同的结果,包括系统发生树推断和适应性进化的检测。换句话说,错误的MSA将会产生一个非真实的进化历史信号,从而导致错误的推断。为了减少MSA错误的影响,许多研究人员在优化MSA算法和MSA质量过滤软件等方面做出了大量的努力。然而,MSA不仅包含比对错误,而且还包含序列自身错误(如测序错误、组装错误或错误的基因注释等)。所以,正确选择MSA分析流程可以显著减少这些错误的产生,从而获得高质量的保守同源序列用于下游的分子进化分析。</p><p>接下来,我主要是介绍一些平时比较常用的主流分析软件以及它们的优缺点。可能还有很多优秀的软件,由于个人精力有限,暂时只讲一下我自己比较熟悉的工具,请大家见谅。</p><h3 id="01-Multiple-Sequence-Alignmen"><a href="#01-Multiple-Sequence-Alignmen" class="headerlink" title="01. Multiple Sequence Alignmen"></a>01. Multiple Sequence Alignmen</h3><p><img alt data-src="https://cdn.jsdelivr.net/gh/yuzhenpeng/blogPic/tmp/20210312133926.jpg" class="lazyload"></p><p>2013年,Blackburne等人在《Molecular Biology and Evolution》期刊发表他们的研究成果,该成果证明了MSA方法在下游分析中的关键作用,突出了在分析中选择的不同的MSA软件对其结果有明显的影响。</p><p><strong>Clustal</strong>是最早开始使用的多序列比对工具,由 Feng 和 Doolittle 于1987年提出,该程序有许多版本,可以基于多种平台,目前引用次数已近<strong>100000次</strong>(Thompson et al. 1994; Larkin et al. 2007)。它采用一种渐进的比对方法,先将多个序列两两比对构建距离矩阵,反应序列之间两两关系;然后根据距离矩阵计算产生系统进化指导树,对关系密切的序列进行加权,然后从最紧密的两条序列开始,逐步引入临近的序列并不断重新构建比对,直到所有序列都被加入为止。<strong>因此,它是一种试探算法,所以渐进比对不能保证能够得到最优的比对。</strong></p><p><strong>Muscle</strong>是一款速度最快的比对软件之一,在速度和精度上都优于ClustalW,目前引用次数高达26246次(Edgar 2004)。Muscle采用的是迭代方法进行比对运算,每一次最优化过程就是迭代过程,通过不断地使用动态规划法重排来纠正这种错误,同时对这些亚类群进行比对以获得所有序列的全局比对。一个形象的例子是,10000条长度为350bp的数据进行比对只需要十几分钟,而用ClustalW则可能需要1年。<strong>但是,速度快的后果就是准确度降低。</strong></p><p><strong>MAFFT</strong>的第一个版本于2002年发布,它使用了一种基于渐进对齐的算法,利用快速傅里叶变换对序列进行聚类(Katoh K et al. 2002)。其后版本的MAFFT增加了其他算法和操作模式,包括更快地对大量序列进行比对的选项、更高精度的比对、非编码RNA序列的比对以及在现有比对中添加新的序列,目前其引用次数也近达20000次。<strong>它的比对精度要高于Muscle,速度也较快,但相比其他依赖物种进化关系的比对软件,它的准确度还有一些差距</strong>。</p><p><strong>PRANK</strong>是由 Löytynoja 于2005年开发的软件,目前它的引用数达到1662次。<strong>它是一种针对DNA、密码子(codon)和氨基酸序列的概率多重比对程序,基于一种新的算法,能够确定各序列在与其共同的祖先分化后发生的碱基替换,插入(insertion)或缺失(deletion)事件</strong>。此外,PRANK可以重新构建其祖先序列,有DNA翻译以及回译选项( DNA translation/back-translation)。最后,<strong>由于PRANK比对准确度高,相对比较耗时,不太适合基因组数据分析。</strong></p><p><strong>BAli-Phy</strong>是一种贝叶斯后验比对软件,它利用马尔可夫链蒙特卡罗来探索给定分子序列数据的比对和系统发育的联合空间,同时估计消除了对不准确的比对引导树的偏差,在比对过程中采用了更复杂的替换模型,并且自动利用共享插入/删除中的信息来帮助推断系统发育关系(Suchard et al. 2006)。其准确度,与PRANK几乎差不多(我自己并没有使用过这款软件)。</p><p>Blackburne 的研究结果显示,基于进化方法的PRANK与BAli-Phy软件,可以根据序列的差异性灵活地使用不同的比对标准(评分矩阵与罚分),然而ClustalW、Muscle以及MAFFT等经典比对软件则不能。他们的结果表明,<strong>在构建序列比对时把物种的进化关系及距离考虑进去能有效提高比对准确性,因此比起仅应用新的计算方法,可能会产生更大的改进潜力</strong>。</p><p>除此以外,还有许多研究也同样揭示ClustalW、Muscle以及MAFFT等经典比对软件在MSA精确度方面还存在许多缺陷(如下图所示)。</p><p><img data-src="https://cdn.jsdelivr.net/gh/yuzhenpeng/blogPic/tmp/20210411141937.jpg" class="lazyload"><br><img data-src="https://cdn.jsdelivr.net/gh/yuzhenpeng/blogPic/tmp/20210411141938.jpg" class="lazyload"><br><img data-src="https://cdn.jsdelivr.net/gh/yuzhenpeng/blogPic/tmp/20210411141941.jpg" class="lazyload"></p><hr><p><strong>MACSE</strong>是<strong>第一个可以用于自动调整含有移码变异以及假基因的蛋白编码序列,而不破坏潜在密码子结构的多序列比对工具</strong>(Ranwez et al. 2011)。它的关键特征是在核苷酸水平上对DNA序列进行比对,但有可能包括不是三个碱基的倍数的间隙长度,即产生移码,同时基于其氨基酸翻译对产生的核苷酸比对进行评分。<strong>这使得可以产生保留潜在密码子结构的核苷酸比对,同时受益于氨基酸序列的更高相似性</strong>(Ranwez et al. 2018)。现在,这个软件已被许多基因组分析所广泛使用,其准确度也相对较好,然而目前并没有研究去仔细分析过它的性能。</p><p>OrthoMAM v8/v10数据库就是采用这个软件的分析流程:CDS and exon sequences are aligned at the codon level in two steps. First, the translated amino acids are aligned using <strong>MAFFT</strong> (Katoh et al. 2005) and gaps are reported onto the nucleotide sequences. This alignment is then refined using <strong>MACSE</strong> (Ranwez et al. 2011) to obtain a final codon alignment unaffected by frameshifts, misassemblies, and sequencing errors. Amino acid alignments are then filtered to reduce the impact of errors on evolutionary inferences using <strong>HMMcleaner</strong> (Philippe et al. 2017).</p><p><img data-src="https://cdn.jsdelivr.net/gh/yuzhenpeng/blogPic/tmp/20210411184002.jpg" class="lazyload"></p><p>此外,还有几种基于隐马尔科夫模型(Profile HMM Methods)的多序列比对工具,这些工具目前我还不清楚它们的具体优缺点。</p><ul><li>SEPP(SATé-enabled Phylogenetic Placement):解决将short reads放入参考序列和树的系统发育问题;</li><li>TIPP(Taxonomic Identification and Phylogenetic Profiling):解决元组数据的分类识别和丰度分析问题</li><li>UPP(Ultra-large alignments using Phylogeny-aware Profiles):解决非常大的数据集对齐的问题,这些数据集可能包含一些零碎的数据,可以将数据集多达1,000,000条序列对齐;</li><li>HIPPI(Highly Accurate Protein Family Classification with Ensembles of HMMs):解决蛋白质家族分类的问题;</li></ul><hr><h3 id="02-Trimming"><a href="#02-Trimming" class="headerlink" title="02. Trimming"></a>02. Trimming</h3><p><img data-src="https://cdn.jsdelivr.net/gh/yuzhenpeng/blogPic/tmp/20210411141946.jpg" class="lazyload"></p><p>当获得精准的多序列比对后,接下来的任务就是要过滤掉一些低质量以及高变异度的序列区域,仅保留进化保守的区域用于后续分析。其中,产生这些低质量区域的原因主要有两个方面:</p><ul><li><p>生物学因素:如果比较来自远缘物种的蛋白序列,很有可能只有蛋白质的功能部分在序列上具有较高的保守性。其他部分,如第一个外显子或最后一个外显子区域,更有可能改变它们的氨基酸序列,无论是在氨基酸含量方面,还是在insertion/deletion存在的情况下。即使当多个序列对齐的预测是正确的,它也可能对系统发育树的推断产生负面影响;</p></li><li><p>错误:测序错误,基因组组装错误、基因预测错误以及多序列比对错误;</p></li></ul><p>目前主流的多序列比对过滤软件可分为以下几个方面:一是,block-filtering:trimAl、Gblocks;二是,segment filtering:HmmCleaner、PREQUA;三是,sliding window analysis:FasParser2。</p><p><strong>Gblocks</strong> 是较早时间(2000年)就应用于MSA过滤的软件,由Castresana实验室所开发,被引用次数为6194次。它可以将MSA中大片断非保守性或者是非同源片段给删除(<strong>6-10bp左右的非同源片段则不能很好识别出来</strong>),另外它还对Block(即一段连续的且中间不含Gap的列)的长度进行了限制。有研究把这种方法应用于构建系统发育树,发现通过删除原始比对中得分比较低的片段以后,Gblocks有效地提高了系统发育关系的确定性(Talavera et al. 2007)。<strong>但是,Gblocks的问题在于它太武断地规定了某个具体的阈值来判断比对片段的保留或删除。比较科学的阈值选择应该要根据序列的具体情况来确定,而不是对所有基因的比对都采用同一个阈值,因为不同的基因或同一个基因的不同片段,其进化速率可能都不相同。</strong></p><p><strong>trimAl</strong> Capella-Gutiérrez等人于2009年开发的另一款MSA自动调整过滤软件,特别适用于大规模的系统发育分析,目前引用次数已有2157次。<strong>它的主要优点就是速度快,准确度高,相比于Gblocks,它可以自动选择在每个特定比对中使用的参数,主要包括Gap的比例以及氨基酸相似性的水平,从而优化 signal-to-noise ratio 。</strong></p><p><strong>FasParser2</strong>该软件是由中国科学院昆明动物研究所孙艳波副研究员所开发 <a href="https://github.com/Sun-Yanbo/FasParser/releases" target="_blank" rel="noopener">link地址</a>,并于2018年在bioinformatics期刊发表。FasParser2主要是可以在友好界面窗口下对一些常规序列的操作,尤其是对多基因串联合并、序列提取、低质量序列鉴定、快速寻找趋同氨基酸变异位点等进行批处理化。<strong>尤其是,该软件增加了有效过滤序列比对质量的模块(滑窗分析),可实现序列中对非同源序列的清除,适用于大规模检测序列中经历达尔文正选择的位点,以及重建系统发育等分析。</strong>软件作者通过序列模拟测试发现,其修剪效率非常高,它能够删除95%以上的错误列,且基本不依赖于比对软件的选择,明显优于其他同类程序,如Guidance和Gblocks。另外,经过AlignTrim处理后的比对结果,可显著降低正选择检测中的检阳性事件(低于5%),且不会导致正选择的检测率降低,从而提高了检测正选择基因的准确性。该作者,将其与Gblocks、trimAl软件进行了比较,结果发现FasParser2的处理效果要优于这两款软件。</p><p><img data-src="https://cdn.jsdelivr.net/gh/yuzhenpeng/blogPic/tmp/20210411141940.jpg" class="lazyload"><br><img data-src="https://cdn.jsdelivr.net/gh/yuzhenpeng/blogPic/tmp/20210411141939.jpg" class="lazyload"></p><p><strong>HmmCleaner</strong>与<strong>PREQUAL</strong>这两款软件也是近两年新发表的软件,它们采取了新的过滤算法(主要基于隐马尔可夫模型),能够准确识别多序列比对中的非同源片段,排除了由于测序质量、基因注释以及可变剪切造成的序列错误,其准确度以及速度相对较快,适用于大规模数据分析(Di Franco A. 2019;Whelan S. 2018)。值得注意的是,PREQUAL针对于<strong>非比对的蛋白编码序列以及氨基酸序列</strong>,而HmmCleaner只能操作<strong>氨基酸序列(可以是比对后的)</strong>。<strong>另外,它们对输入文件要求较高,一般fasta格式,序列中只能存在Gap和序列,不允许存在“?”、“!”、“X”等非编码字符,还要注意换行符问题</strong>。</p><p><img data-src="https://cdn.jsdelivr.net/gh/yuzhenpeng/blogPic/tmp/20210411141944.jpg" class="lazyload"><br><img data-src="https://cdn.jsdelivr.net/gh/yuzhenpeng/blogPic/tmp/20210411141943.jpg" class="lazyload"></p><h3 id="03-Know-Your-Limits"><a href="#03-Know-Your-Limits" class="headerlink" title="03. Know Your Limits"></a>03. Know Your Limits</h3><ul><li><strong>数据类型:</strong> DNA vs. RNA, coding vs. non-coding nucleotides (wobble bp), AAs, proteins, etc.</li><li><strong>数据特性:</strong>substitution (≠ mutation) rate strength (↑ vs. ↓), indel size and rate (% gap & gap length), pairwise sequence identity (PID), etc.</li><li><strong>数据矩阵特性:</strong># of tips, # of sequences, (alignment length ∝) data matrix weight, e.g., light (K, M) vs. heavy (G, T), etc.</li><li><strong>计算资源:</strong>CPU time and RAM memory</li></ul><h3 id="04-Summary"><a href="#04-Summary" class="headerlink" title="04. Summary"></a>04. Summary</h3><p><strong>每个人的数据可能与其他人的数据有很大差别,一定要学会正确选择适合自己数据的软件类型,这样得到的结果才是准确、可靠、可重复的。</strong></p><p><strong>生物信息学与计算机类似,更新速度很快,几年前还在使用的经典软件,现在可能已经过时了,因而保持与时俱进对生物信息人员是十分重要的。</strong></p><p><strong>最后,感谢中国科学院昆明动物所孙艳波老师给与的指导与帮助。</strong></p><h3 id="05-这里放一张处理序列中存在移码突变的序列比对流程,已亲测(欢迎交流)"><a href="#05-这里放一张处理序列中存在移码突变的序列比对流程,已亲测(欢迎交流)" class="headerlink" title="05. 这里放一张处理序列中存在移码突变的序列比对流程,已亲测(欢迎交流)"></a>05. 这里放一张处理序列中存在移码突变的序列比对流程,已亲测(欢迎交流)</h3><p><img alt="图片发自简书App" data-src="http://upload-images.jianshu.io/upload_images/8553338-e6be866ad6e5430b.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1080/q/50" class="lazyload"></p><p><img data-src="https://cdn.jsdelivr.net/gh/yuzhenpeng/blogPic/tmp/20210411141945.jpg" class="lazyload"></p><h3 id="参考文献:"><a href="#参考文献:" class="headerlink" title="参考文献:"></a>参考文献:</h3><ol><li>Blackburne B P, Whelan S. Class of multiple sequence alignment algorithm affects genomic analysis[J]. Molecular biology and evolution, 2012, 30(3): 642-653.</li><li>Löytynoja A. Phylogeny-aware alignment with PRANK[M]//Multiple sequence alignment methods. Humana Press, Totowa, NJ, 2014: 155-170.</li><li>Löytynoja A, Goldman N. Phylogeny-aware gap placement prevents errors in sequence alignment and evolutionary analysis[J]. Science, 2008, 320(5883): 1632-1635.</li><li>Fletcher W, Yang Z. The effect of insertions, deletions, and alignment errors on the branch-site test of positive selection[J]. Molecular biology and evolution, 2010, 27(10): 2257-2267.</li><li>Ranwez V, Douzery E J P, Cambon C, et al. MACSE v2: toolkit for the alignment of coding sequences accounting for frameshifts and stop codons[J]. Molecular biology and evolution, 2018, 35(10): 2582-2584.</li><li>Sun Y B. FasParser2: a graphical platform for batch manipulation of tremendous amount of sequence data[J]. Bioinformatics, 2018, 34(14): 2493-2495.</li><li>Whelan S, Irisarri I, Burki F. PREQUAL: detecting non-homologous characters in sets of unaligned homologous sequences[J]. Bioinformatics, 2018, 34(22): 3929-3930.</li><li>Di Franco A, Poujol R, Baurain D, et al. Evaluating the usefulness of alignment filtering methods to reduce the impact of errors on evolutionary inferences[J]. BMC evolutionary biology, 2019, 19(1): 21.</li></ol>]]></content>
<categories>
<category> 生信分析 </category>
</categories>
<tags>
<tag> 多序列比对 </tag>
</tags>
</entry>
<entry>
<title>Hello World</title>
<link href="2019/11/27/hello-world/"/>
<url>2019/11/27/hello-world/</url>
<content type="html"><![CDATA[<p>Welcome to <a href="https://hexo.io/" target="_blank" rel="noopener">Hexo</a>! This is your very first post. Check <a href="https://hexo.io/docs/" target="_blank" rel="noopener">documentation</a> for more info. If you get any problems when using Hexo, you can find the answer in <a href="https://hexo.io/docs/troubleshooting.html" target="_blank" rel="noopener">troubleshooting</a> or you can ask me on <a href="https://github.com/hexojs/hexo/issues" target="_blank" rel="noopener">GitHub</a>.</p><h2 id="Quick-Start"><a href="#Quick-Start" class="headerlink" title="Quick Start"></a>Quick Start</h2><h3 id="Create-a-new-post"><a href="#Create-a-new-post" class="headerlink" title="Create a new post"></a>Create a new post</h3><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">$ hexo new <span class="string">"My New Post"</span></span><br></pre></td></tr></table></figure><p>More info: <a href="https://hexo.io/docs/writing.html" target="_blank" rel="noopener">Writing</a></p><h3 id="Run-server"><a href="#Run-server" class="headerlink" title="Run server"></a>Run server</h3><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">$ hexo server</span><br></pre></td></tr></table></figure><p>More info: <a href="https://hexo.io/docs/server.html" target="_blank" rel="noopener">Server</a></p><h3 id="Generate-static-files"><a href="#Generate-static-files" class="headerlink" title="Generate static files"></a>Generate static files</h3><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">$ hexo generate</span><br></pre></td></tr></table></figure><p>More info: <a href="https://hexo.io/docs/generating.html" target="_blank" rel="noopener">Generating</a></p><h3 id="Deploy-to-remote-sites"><a href="#Deploy-to-remote-sites" class="headerlink" title="Deploy to remote sites"></a>Deploy to remote sites</h3><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">$ hexo deploy</span><br></pre></td></tr></table></figure><p>More info: <a href="https://hexo.io/docs/one-command-deployment.html" target="_blank" rel="noopener">Deployment</a></p>]]></content>
</entry>
</search>