windows怎么应用memecached

windows怎么应用memecached,第1张

Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提供动态、数据库驱动网站的速度。Memcached基于一个存储键/值对的hashmap。其守护进程(daemon )是用C写的,但是客户端可以用任何语言来编写,并通过memcached协议与守护进程通信。但是它并不提供冗余(例如,复制其hashmap条目);当某个服务器S停止运行或崩溃了,所有存放在S上的键/值对都将丢失。

下载Windows的Server端

安装Memcache Server(也可以不安装直接启动)

1. 下载memcached的windows稳定版,解压放某个盘下面,比如在c:\memcached

2. 在CMD下输入 "c:\memcached\memcached.exe -d install" 安装.

3. 再输入:"c:\memcached\memcached.exe -d start" 启动。NOTE: 以后memcached将作为windows的一个服务每次开机时自动启动。这样服务器端已经安装完毕了。

如果下载的是二进制的版本,直接运行就可以了,可以加上参数来加以设置。

常用设置:

-p <num> 监听的端口

-l <ip_addr> 连接的IP地址, 默认是本机

-d start 启动memcached服务

-d restart重起memcached服务

-d stop|shutdown 关闭正在运行的memcached服务

-d install安装memcached服务

-d uninstall 卸载memcached服务

-u <username>以<username>的身份运行 (仅在以root运行的时候有效)

-m <num> 最大内存使用,单位MB。默认64MB

-M内存耗尽时返回错误,而不是删除项

-c <num> 最大同时连接数,默认是1024

-f <factor> 块大小增长因子,默认是1.25

-n <bytes> 最小分配空间,key+value+flags默认是48

-h显示帮助

在进化树建完后,需要对序列的结构进行分析。这里需要区分两个概念,即蛋白结构域与保守结构域,它们两个不是一回事。从上一章,通过pfam方法同学们可以获得蛋白结构域的信息(即结构域的名字,从哪儿开始到哪儿结束),而保守结构域,它指的是在你所输入的这些序列中保守的序列是哪些。至于这些保守的序列到底能不能到蛋白结构域(即可以预测有功能的结构域)的那个层次还不好说。

保守结构域通过meme网站( MEME - Submission form (meme-suite.org) ):

选择要检测出多少保守结构域

选择text格式:

接下来开始绘图:

需要基因id以及每个基因的长度(即输入到meme网站的那些~):

需要格式化meme的结果同时也需要这些基因的ID, ID的获取:

格式化meme:

这些文件都是自动完成,大家只需要点点点就好:

绘图:

这样就完成了保守结构域的绘制。且每单击一次default colors, 颜色都会自动配置一次,然后再度点击draw即可完成颜色的更改。其他参数参照之前的说明。上一张图吧:

在上一章讲到的pfam的结果可用于提取蛋白结构域。建议同学们:如果你的文件里,基因名字过于复杂,就是含有额外信息,建议大家利用格式化的功能将这些额外去除掉,因为这些额外信息在后续的分析中基本不会用到但如果保留它们则会对后续的一些分析产生干扰。

这里要注意一个问题,如果所研究的家族有多个结构域,需要依次对它们的pfam结果进行格式化。格式化的结果类似于这样:

之后将该结果合并在一起(就是直接复制粘贴)以及上一步的基因ID+长度的那个文件输入作图模块中进行作图即可。

再就是启动子元件的展示。需要提取启动子序列,功能在这里:

执行此功能,同学们需要注意一个问题,就是你蛋白序列文件中的ID可能与gff3文件里的ID有出入,需要稍微调整,例如:

通过比较可以发现蛋白文件中的多了“.p” 而gff文件中的多了“.v1.ABR2.1”,因此需要进行替换(就是一定要保证蛋白文件中的ID与gff文件中mRNA那一行对应的ID是一样的),替换功能在这里:

当然,同学们如果不习惯用SPDE也可以用其他软件例如word替换,这里设置的替换功能,真正的用处是在执行多个关键词同时替换的时候,这种单个关键词的替换,完全展现不出威力~。替换完成后,如下:

这个文件将作为提取启动子的关键词。对基因组序列文件进行格式化:

提取的启动子如下:

将启动子放到plantcare( PlantCARE, a database of plant promoters and their cis-acting regulatory elements (ugent.be) )进行启动子序列的分析。

这里有个点儿需要注意:一个基因的启动子上有很多元件,如果将这些元件都展示在启动子上会将图整的跟食品包装袋后的条码似的,这并不利于我们展示重点想要展示的东西,因此,这里需要同学们根据自己的实验目的进行删减,例如,如果同学们想要展示的是胁迫条件下的情况,则可以将一些无关元件(如TATA等)删除,只保留重点先要展示的,这样也使得我们的研究结果一目了然。具体 *** 作步骤与之前相同:

结果:

接下来是展示内含子和外显子的分布情况,当然还是要先处理文件,需要的是基因ID和GFF文件:

得到的文件如下:

之后画图

嗯,大致是这样子的吧

同学们在做的时候如果基因数量多,大可考虑将这些基因分成几组展示~

近几年来,Hyphy的使用人数越来越来多,虽然不及paml,但这款软件的一些优秀特性使得它值得受到使用和关注。

首先相比paml,hyphy有以下几大优点:

接下来介绍的一系列东西,实际上是对Hyphy官方网站的一系列教程的总结,很多东西官网都写得很清楚,官网地址为 https://www.hyphy.org/ 。

如果你不想看长篇大论,直接跳到最后的总结部分,那里有最简练的总结

关于Hyphy的不同版本 ,hyphy的网页版即是datamonkey,并且还有GUI版本,这里介绍的主要是命令行版本,并且命令行版本也可以分为交互式运行和一行命令运行,这里不介绍交互式方法的使用。

关于hyphy的安装 ,只需要用conda就可以安装了

关于hyphy的输入文件 ,要求一颗newick格式(只能是此格式)系统发育树以及相对应的fasta序列比对文件(可以是FASTA, phylip, 等等),标注foreground branch,即前景支的方法和paml略微不同,即在newick文件中在分支名和支长(如果有的话)之间加上{Foreground}来标注,或者你可以去hyphy官网的phylotree来在线标注,地址为 http://phylotree.hyphy.org/ 。

关于多线程支持方面 ,2.4.0版本当中,软件中的命令 hyphy 和 HYPHYMPI 已经等同,都是调用多线程,在这个版本之前, hyphy 调用的是单核,而 HYPHYMPI 则对应的是多线程版本命令。

关于具体使用方法 ,hyphy的使用非常简单,以2.2.0版本为例,如果你要使用多线程命令,则如下有两种方法,分别对应位点模型slac以及指定了前景支的支位点模型absrel,它们都需要openmp支持

不同的模型,只需要改相应的模型名称就可以调用了(替换上面命令的slac或者absrel),用法非常简单,如果不特别用branches指定Foreground,那么则会默认对整个系统发育应用模型。

关于输出结果及结果可视化 ,Hyphy运行的时候,默认打印到屏幕上的结果是以markdown格式输出的,这个结果还是很直观的,而保存到本地文件的结果是以json格式输出的,并不是很直观( 但json格式可以很方便的用python的json模块提取各种信息,例如pvalue和正选择位点,在多个任务批量 *** 作的时候,非常的方便,这种保存的格式非常具有通用性,其实是件好事 ),默认是输出到和多序列比对文件相同的文件夹,可以用 --output 来改变输出位置,可以去官网 http://vision.hyphy.org/ 来可视化输出结果,具体的格式介绍,详见 https://www.hyphy.org/resources/json-fields.pdf 。

关于Hyphy的各种模型,基本上都可以分为不指定foreground和指定foreground运行的两种方式,前者对应的是检测 pervasive (across the whole phylogeny) positive or purifying selection ,即整个系统发育中的普遍的正选择/纯化选择,而后者对应的是检测 episodic (at a subset of branches) positive or purifying selection ,即检测一部分branches的独立正选择/纯化选择。

①FEL 固定效应似然法(FEL, Fixed Effects Likelihood)

使用最大似然(ML)方法来推断每个位点上的非同义(dN)和同义(dS)替换率,用于给定的编码比对和相应的系统发育。该方法假设在整个系统发育过程中,每个位点的选择压力是恒定的。 注意,FEL适合小到中型数据

②SLAC (Single-Likelihood Ancestor Counting)

对于给定的编码比对和相应的系统发育使用最大似然(ML)和计数方法的结合来推断每个位点上的非同义(dN)和同义(dS)替换率。像FEL一样,该方法假设在整个系统发育过程中,每个位点的选择压力是恒定的。 SLAC和FEL精准度相似,但适合更大的数据,并且不适合高度分歧的序列

③⭐FUBAR(Fast, Unconstrained Bayesian AppRoximation)⭐

使用贝叶斯方法来推断给定编码比对和相应系统发育的每个位点上的非同义(dN)和同义(dS)替换率。该方法假设在整个系统发育过程中,每个位点的选择压力是恒定的。 FUBAR适用于中到大数据集,预计在检测位点的普遍选择方面比FEL更有效。FUBAR是推断pervasive selection的首选方法。

MEME(Mixed Effects Model of Evolution)

MEME(混合效应进化模型)采用混合效应最大似然方法来检验个别位点是否受到episodic positive或多样化选择的影响的假设。换句话说,MEME的目的是检测在一定比例的分支下正选择下进化的位点。

对于每个位点,MEME推测两种ω值,以及在给定的分支下,以此ω进化的概率。为了推断ω,MEME会推断α(dS) 和两个不同的β(dN),β−和β+。在空模型和备择模型中,MEME强制β−≤α。因此β+是空模型和备择模型不同的关键:在空模型中,β+被限制为≤α,但在备择模型中不受限制。最终,当β+>α时,位点被推断为正选择,并使用似然比检验显示显著。

FADE(FUBAR Aproach to Directional Evolution)

是一种基于FUBAR引入的贝叶斯框架(Bayesian framework)的方法,用来测试蛋白质比对中的位点是否受定向选择的影响。具体地说,FADE将系统地测试,对于比对中的每个位点,与背景分支相比,一组指定的前景分支是否显示对特定氨基酸的替代偏向。该偏差参数的高值表明该位点对特定氨基酸的取代作用大大超过预期。使用贝叶斯因子(BF)评估FADE的统计显著性,其中BF>=100提供了强有力的证据,表明该位点正在定向选择下进化。

重要的是,与HyPhy中的大多数方法不同,FADE不使用可逆的马尔可夫模型,因为它的目标是检测定向选择。因此, FADE分析需要一个有根的系统发育。在使用FADE进行分析之前,可以使用基于浏览器的交互工具“Phylotree.js”来帮助建立树的根。

aBSREL (adaptive Branch-Site Random Effects Likelihood)

是常见的“Branch-Site”类模型的改进版本。aBSREL既允许分支的先验指定(即指定foreground branches)来测试选择,也可以以探索性的方式测试每个谱系以进行选择( p-value将自动进行BH校正,为什么叫探索性的方法呢,因为你可以先不指定foreground,来看看哪个支的pvalue更低,然后来针对那一支进行进一步的选择压力分析 )。请注意,探索性的方法将牺牲功效。 ⭐aBSREL是在各个分支检测正选择的首选方法⭐,需要注意一点的是,aBSREL是多次独立对指定的每一支进行检验的,也就是说,你指定了许多的branches,实质上和多次指定不同一个branch来多次运行,效果是一样的,而并非将这些branches视为一个整体去做检测

BUSTED(Branch-Site Unrestricted Statistical Test for Episodic Diversification)

通过测试一个基因是否在至少一个分支的至少一个位点上经历了正选择,BUSTED(分支位点无限制统计检验)提供了一个全基因(非位点特异性)正选择的测试。当运行BUSTED时,用户可以指定一组前景支来测试正选择(其余分支被指定为“背景”),或者用户可以测试整个系统发生的正选择。在后一种情况下,整个树被有效地视为前景,正选择的检验考虑整个系统发育。这种方法对于相对较小的数据集(少于10个分类单元)特别有用,在这些数据集中,其他方法可能没有足够的功效来检测选择。 这种方法不适用于确定有正选择的特定位点。

对于每个系统发育分区(前景和背景分支位点),BUSTED拟合了一个具有三个速率类的密码子模型,约束为ω1≤ω2≤1≤ω3。与其他方法一样,BUSTED同时估计每个分区属于每个ω类的位点的比例。这种模型作为选择检验中的替代模型,被称为无约束模型。然后,BUSTED通过比较这个模型与前景分支上ω3=1(即不允许正选择)的空模型的拟合度来测试正选择。这个零模型也被称为约束模型。如果零假设被拒绝,那么就有证据表明,至少有一个位点在前景枝上至少有一部分时间经历了正选择。重要的是,一个显著的结果并不意味着该基因是在整个前景的正选择下进化的。

RELAX

RELAX是一种假设检验框架,它检测自然选择的强度是否沿着一组指定的测试分支被放松或加强。因此,RELAX不是明确检测正选择的合适方法。相反,RELAX在识别特定基因上自然选择严格程度的趋势和/或变化方面最有用。K>1表示选择强度加强,K<1表示选择压力放松。

RELAX需要一组指定的 "测试 "分支与第二组 "参考 "分支进行比较(注意,不必分配所有的分支,但测试集和参考集各需要一个分支)。RELAX首先对整个系统发育过程拟合一个具有三个ω类的密码子模型(空模型)。然后,RELAX通过引入作为选择强度参数的参数k(其中k≥0)作为推断ω值的指数:ωk来测试放松/强化选择。具体来说,RELAX固定推断的ω值(都是ωk<1,2,3>),并对测试分支推断出一个将比率修改为ωk<1,2,3>的k值(替代模型)。然后,RELAX进行似然比检验,比较替代模型和空模型。

用法来说,以我用的2.2.0版本为例子,(2.4.0直接用hyphy命令即可)

模型上来说:

如果你要检测类似paml中的M8位点模型,最好用FUBAR,如果是小数据,则用FEL,大数据并且分歧度不是很高用SLAC。

如果你要检测某个前景支当中正选择位点,最好用MEME。

如果你要检测单独的某个branch是否存在正选择,最好用aBSREL。

如果你要检测一系列的branches的正选择,即检验你的这个基因,在指定的branches的任意一个位点是否在某段时间经历过正选择,则用BUSTED,BUSTED是不适合检测单独位点的正选择的。

如果你要检测选择压力的放松/加强,用RELAX。

如果你要用蛋白序列来检测氨基酸位点正选择/定向选择,用FADE。

最后再提一下,几乎所有模型(还有一些没常用的模型没有提到)都可以分为指定前景和不指定前景的模式运行,但不是都适合,就像官方说的那样,根据你的目的不同,会有最优选择,当然你也可以把某种模型都跑一遍,比如各种位点模型都走个流程,并且你也可以结合paml的模型,例如,对于检测Pervasive selection的位点模型,你可以结合paml的M8、M2a来分析。对于检测episodic selection的branch-site,你可以结合paml的branch-site modelA和BUSTED/aBSREL来比较分析。

以上的所有文字,都是笔者根据官方以及一些文献当中对于hyphy的使用总结、翻译,如有错误使用之处,还请各位多多指正。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/6660494.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-26
下一篇 2023-03-26

发表评论

登录后才能评论

评论列表(0条)

保存