SMC++进行有效种群分析

这篇具有很好参考价值的文章主要介绍了SMC++进行有效种群分析。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

之前我们说到了MSMC2,今天来说一下SMC++。
SMC++是一个用于从全基因组序列数据中估计种群大小历史的程序,其可以进行多个样本的分析,v1.15.4 以后smc++不支持conda了,改为docker运行。
1.SMC++安装
SMC++可以作为Docker image直接运行,其安装方法也及其简单,就是运行一遍,当docker找不到SMC++image时自动下载,需要一定时间。

#简直不要太简单
sudo apt-get install -y python3-dev libgmp-dev libmpfr-dev libgsl0-dev #下载依赖库,我忘记用docker安装需不需要这些库了,但是下载了也没啥问题。
sudo docker run --rm -v $PWD:/mnt terhorst/smcpp:latest #下载
sudo docker images  #看一下docker有哪些image

如下如,MSC++ image下载完毕
smc++,c++,docker,python
看一下具体参数

sudo docker run --rm -v $PWD:/mnt terhorst/smcpp:latest -h

有效种群大小主要用到vcf2msc,eastimate,plot
smc++,c++,docker,python

2.输入文件
SMC++的输入文件可以是vcf文件,非常棒。首先需要得到你分析的群体的vcf文件

vcftoosl --vcf xxx.vcf --recode --keep poplation.txt --out smc #population中时你的群体样本
bgzip smc.recode.vcf    #压缩
tabix smc.recode.vcf.gz #为vcf构建tbi索引

之后就是格式转换,vcf转smc格式,用到了vcf2msc
smc++,c++,docker,python

for i in {1..19}
do
      sudo docker run --rm -v $PWD:/mnt terhorst/smcpp:latest vcf2smc ./smc.recode.vcf.gz ./data/chr${i}.smc.gz $i S:S1,S2,S4,S5,S6,S7,S9
done

#输入vcf文件,输出smc.gz文件,$i为染色体,样本的排列是 population name:sample1,sample2,sample3
#值得注意的是mask文件,在MSMC2中需要,在MSC++也可以添加
3.分析
smc++,c++,docker,python

sudo docker run --rm -v $PWD:/mnt terhorst/smcpp:latest  estimate --spline cubic --knots 15 --timepoints 1000 1000000  --cores 20  -o ./data/estimate-1/ 2e-8 ./data/*.smc.gz

#–spline 线条类型 cubic为平滑曲线吧
#–knots 节点,就是绘图曲线的点数
#–timepoints 时间范围,单位为多少代,如1000 1000000 为1000代到1000000代
#cores 计算核数
#2e-8为突变率
4.绘图

sudo docker run --rm -v $PWD:/mnt terhorst/smcpp:latest  plot ./plot-IN-6e-9.pdf ./data/estimate-1/*.final.json -g 1 --ylim 0 100000000 -c

#.final.json为最终模型
#-c --csv 输出绘图文件,利用该文件在R中绘图,具体自己发挥
#-g 代数,如人为25,鼠为1
#–ylim Y轴范围
#–xlim X轴范围
总结:smc++不仅能多个文件分析,速度还快,还支持vcf文件,非常好。
下一回介绍一下stairway plot文章来源地址https://www.toymoban.com/news/detail-778678.html

到了这里,关于SMC++进行有效种群分析的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • SMC接口数据采集时发生FPGA错误

    在进行SMC接口数据采集时,有时候可能会遇到FPGA错误的情况。FPGA(Field-Programmable Gate Array)是一种可编程逻辑器件,常用于实现数字电路。当在使用SMC接口采集数据时遇到FPGA错误,可能会导致数据采集失败或产生不准确的结果。本文将介绍可能导致这种错误的几个常见原因

    2024年02月02日
    浏览(30)
  • FPGA错误导致SMC接口数据采集异常

    FPGA错误导致SMC接口数据采集异常 在进行系统开发和硬件设计的过程中,我们经常会遇到各种各样的问题。其中,FPGA(现场可编程门阵列)作为一种重要的硬件设备,扮演着关键的角色。然而,在使用SMC(System Management Controller)接口采集数据时,有时会出现FPGA错误,从而导

    2024年02月08日
    浏览(49)
  • SMC状态机 讲解1 XX.sm文件详解

    SMC为对象(不是进程或应用程序,而是单个对象)生成有限状态机。如果有接收异步回调的对象,并且对象响应这些回调是基于对象状态的,那么SMC提供了一个强大的解决方案。 任务FSM示意图如下: 任务的状态是: Running:任务正在运行。允许任务在指定的时间限制内运行。 Suspe

    2024年02月11日
    浏览(19)
  • 【ARM64 常见汇编指令学习 16 -- ARM64 SMC 指令】

    上篇文章:ARM64 常见汇编指令学习 15 – ARM64 标志位的学习 下篇文章:ARM64 常见汇编指令学习 17 – ARM64 BFI 指令 在ARMv8架构中,同步异常主要包括以下几种: Undefined Instruction :未定义指令异常,当处理器尝试执行一条未定义的指令时会触发。 Supervisor Call (SVC) :这是一种特殊

    2024年02月13日
    浏览(32)
  • VSC/SMC(一)——基于趋近律的滑模控制(含程序模型)

    目录 1.几种典型的趋近律 1.1等速趋近律  1.2指数趋近律 1.3幂次趋近律 1.4一般趋近律 2.控制器设计 2.1被控对象  2.2选取滑膜面 2.3定义跟踪误差 2.4计算控制律 3.Simulink仿真分析 3.1利用S函数编写被控对象 3.2利用S函数编写控制器 3.3simulink模型  3.4结果分析 1.几种典型的趋近律

    2023年04月08日
    浏览(24)
  • 【reverse】手把手带你基于dll实现多次SMC

    SMC,即self modifying code,自修改代码,逆向入门SMC可以看一下我的题解。我打算实现一个类似于【网鼎杯2020青龙组】jocker的SMC方案。这个方案不需要用到汇编,因此门槛极低( 连小小前端都能学会 )。为什么要基于dll呢?因为代码段加密功能是通过外部python脚本完成的,将自

    2024年02月02日
    浏览(34)
  • SMC_TRAFOF_5Axes (FB)_标准龙门5轴

    正计算: 电机位置》空间位姿   的正计算。 用于图形5轴控件的展示。  刀具长度 [u] 【脉冲当量】  输入输出: 输入: 输出:

    2024年02月11日
    浏览(26)
  • SMC_TRAFO_GantryCutter2 (FB) 带刀片旋向龙门

    裁布机:刀片按XY走向,偏转刀片角度。 pi:目标位置矢量(x,y),插值器的输出 v:当前路径切线的矢量,插值器的输出 dOffsetX: x轴的附加偏移 dOffsetY:y轴的附加偏移 dOffsetR:旋转轴的附加偏移 iDirectionR:旋转方向。【默认1】 //=========================== dx:x轴的结果位置

    2024年02月11日
    浏览(81)
  • mac解决“您的电脑因为出现问题问题而重新启动 SOCD report detected: (iBoot panic)“报错, 重置SMC与重置NVRAM(PRAM)

    mac monterey 12.5.1 关机后再开机出现报错 关机重启更新系统都不管用 按一下音量加,再按一下音量减再长按5秒关机键, 开机后没再出现自动重启和报错, 鬼知道这是个什么神仙bug, 估计可能是软件和系统不兼容卡死, 按我理解mac可能只需要长按关机键, 手机的话可能是三步一起操作

    2024年02月08日
    浏览(144)
  • Python中的单元测试框架:使用unittest进行有效测试

    在软件开发中,单元测试是一种测试方法,它用于检查单个软件组件(例如函数或方法)的正确性。Python 提供了一个内置的单元测试库,名为 unittest ,可以用来编写测试代码,然后运行测试,并报告测试结果。 本文将向你介绍如何使用 unittest 来编写和运行单元测试。通过阅

    2024年03月09日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包