「毅硕|生信教程」 micromamba:mamba的C++实现,超越conda

1 Micromamba 简介

大家是否有这样的经历,使用conda/anaconda进行环境配置的是否速度非常慢,进度经常卡在"Collecting package metadata"上。甚至有时候需要安装的软件比较多,或者需要用到conda-forge这个最大的channel,conda能一直卡在collecting步骤上直到http连接超时也没能处理完毕。直到有天小编发现了mamba这个工具,进而发现了micromamba(micromamba是mamba包管理器的小型版本,采用C++实现,具有mamba的核心功能,且体积更小,可以脱离conda独立运行,更易于部署),从此再也没有因为生信软件的安装配置而烦恼抓狂过。闲话少说,开始我们的教程。


2 Micromamba 教程

2.1 安装与配置

小编比较推荐国内用户从miniconda的安装起手,这里使用的是TUNA镜像站的链接,mirrors.tuna.tsinghua.edu.cn/anaconda/mi... 下载完毕后,执行命令

复制代码
sh Miniconda3-py311_24.4.0-0-Linux-x86_64.sh

通常没有特殊需求的情况下,一路"enter,yes"把miniconda安装到${HOME}/miniconda3即可。一般安装完毕后会询问是否直接执行conda init命令,回车即可。这样以后登录的时候就自动加载进入base环境,可以便捷使用conda的各种功能。如果没有继续回车执行,或者执行失败,则可以

bash 复制代码
${HOME}/miniconda3/bin/conda init

成功以后,~/.bashrc文件(其他sh则是其各自的rc文件路径)会有如下类似的内容

bash 复制代码
# 仅展示,非命令行代码
# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$('/home/snpbio/miniconda3/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
    eval "$__conda_setup"
else
    if [ -f "/home/snpbio/miniconda3/etc/profile.d/conda.sh" ]; then
        . "/home/snpbio/miniconda3/etc/profile.d/conda.sh"
    else
        export PATH="/home/snpbio/miniconda3/bin:$PATH"
    fi
fi
unset __conda_setup
# <<< conda initialize <<<

接着我们配置condarc文件,condarc文件路径可以是 ~/.condarc ,也可以是 conda base 环境下的 $CONDA_PREFIX/.condarc。一般情况下使用 ~/.condarc 即可。创建condarc文件

ruby 复制代码
cat > ~/.condarc << EOF
channels:
  - conda-forge
  - bioconda
  - defaults
show_channel_urls: true
default_channels:
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
custom_channels:
  conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
report_errors: false
EOF

然后我们就可以在conda base环境下安装micromamba

csharp 复制代码
conda install -n base micromamba

安装完毕后,执行

bash 复制代码
echo "export MAMBA_ROOT_PREFIX=${HOME}/miniconda3" >> ~/.bashrc

至此,miniconda和micromamba的配置就完成了。(小编的这种做法是为了能利用conda的api去调用micromamba配置的环境,所以就把MAMBA_ROOT_PREFIX变量设置成和conda base的$CONDA_PREFIX一样)

2.2 测试

开始测试

用micromamba进行搜索

sql 复制代码
micromamba search sentieon

运行神速,很快就得到结果了

bash 复制代码
# 仅展示,截取部分输出内容
bioconda/linux-64                                   0.8s
bioconda/noarch                                     0.9s
https://mirrors.tuna.tsinghua.edu.cn/anaconda/pk..  0.1s
https://mirrors.tuna.tsinghua.edu.cn/anaconda/pk..  1.0s
https://mirrors.tuna.tsinghua.edu.cn/anaconda/pk..  0.3s
https://mirrors.tuna.tsinghua.edu.cn/anaconda/pk..  0.3s
conda-forge/noarch                                  16.9MB @   8.8MB/s  1.9s
conda-forge/linux-64                                39.0MB @  12.3MB/s  3.1s
 Name     Version   Build                   Channel  Subdir
──────────────────────────────────────────────────────────────
 sentieon 202308.03 h43eeafb_0              bioconda bioconda
 sentieon 202308.02 h43eeafb_0              bioconda bioconda
 sentieon 202308.01 h43eeafb_0              bioconda bioconda
 sentieon 202308    h43eeafb_0              bioconda bioconda

然后我们可以创建环境并安装

bash 复制代码
micromamba create -n sentieon sentieon
# 出现 Confirm changes: 时,输入Y

非常快就创建好了,此时我们用conda activate切换环境。

复制代码
conda activate sentieon

2.3 结尾

本文也只是简单的入门,micromamba的配置方法还有很多,感兴趣的同学可以访问mamba.readthedocs.io/en/latest/u... 获取更多信息。


关于Sentieon

Sentieon为完整的纯软件基因变异检测二级分析方案,其分析流程完全忠于BWA、GATK、MuTect2、STAR、Minimap2、Fgbio、picard等金标准的数学模型。在匹配开源流程分析结果的前提下,大幅提升WGS、WES、Panel、UMI、ctDNA、RNA等测序数据的分析效率和检出精度,并匹配目前全部第二代、三代测序平台。

Sentieon软件团队拥有丰富的软件开发及算法优化工程经验,致力于解决生物数据分析中的速度与准确度瓶颈,为来自于分子诊断、药物研发、临床医疗、人群队列、动植物等多个领域的合作伙伴提供高效精准的软件解决方案,共同推动基因技术的发展。

截至2023年3月份,Sentieon已经在全球范围内为1300+用户提供服务,被世界一级影响因子刊物如NEJM、Cell、Nature等广泛引用,引用次数超过700篇。此外,Sentieon连续数年摘得了Precision FDA、Dream Challenges等多个权威评比的桂冠,在业内获得广泛认可。

相关推荐
慧都小妮子1 小时前
实时图形工具包GLG Toolkit:工业领域HMI数据可视化的优选产品
信息可视化·数据挖掘·数据分析
IT·小灰灰3 小时前
AI成为精确的执行导演:Runway Gen-4.5如何用控制美学重塑社媒视频工业
大数据·图像处理·人工智能·python·数据分析·音视频
田里的水稻16 小时前
DT_digital_twin_ROS+Grazebo仿真
深度学习·数据挖掘·数据分析
我爱鸢尾花18 小时前
第十四章聚类方法理论及Python实现
大数据·python·机器学习·数据挖掘·数据分析·聚类
Tiger Z20 小时前
《R for Data Science (2e)》免费中文翻译 (第14章) --- Strings(2)
数据分析·r语言·数据科学·免费书籍
非著名架构师21 小时前
“低空经济”的隐形护航者:AI驱动的秒级风场探测如何保障无人机物流与城市空管安全?
人工智能·数据分析·疾风气象大模型·高精度天气预报数据·galeweather.cn·高精度气象
洁洁!21 小时前
openEuler在WSL2中的GPU加速AI训练实战指南
人工智能·数据挖掘·数据分析
非著名架构师1 天前
从“人找信息”到“信息找人”:气象服务模型如何主动推送风险,守护全域安全?
大数据·人工智能·安全·数据分析·高精度天气预报数据·galeweather.cn
clarance20151 天前
ChatBI王者之争:ThoughtSpot、Databricks、Power BI等五大产品深度对决与选型指南
大数据·人工智能·信息可视化·数据挖掘·数据分析
梦仔生信进阶1 天前
【Linux】生物信息学Linux入门指南:从核心命令到实战应用
数据分析