利用snakemake + singularity搭建生信分析流程

本文是作者学习笔记。

snakemake作为一款主流流程管理软件,对比shell,py,R写的流程它的好处是不言而喻的。基本操作和技巧可以参考官方文档和各种博客上的文章,这里主要介绍如何利用singularity容器配合snakemake。

我们搭建生信流程的时候最麻烦的事是什么?那我相信很多同学的答案都会是:装软件。装软件这个活它主要麻烦在于我们的环境是各不相同的(包括操作系统,编译软件,语言版本,linux内核等等),更头痛的是有些依赖需要root权限(使用实验室,公司的服务器),这个时候docker容器就显示出威力了。通过构建镜像,我们可以完全定制自己环境,外加现在一些软件都提供了Dockerfile(构建镜像的文件),可以说是非常方便了。而singularity是一款类似docker的容器软件,它的好处是1.运行容器的权限比较低(docker需要至少用户加入docker组)2.命令更加简洁 3.构建镜像更简单,并且可以直接pull docker 镜像 4.被snakemake所支持(最重要的一点)。下面说一下具体怎么实现。

1.安装singularity

如果你不是sudoer的话,请系统管理员帮忙安装吧。

  • 安装系统依赖:
$ sudo apt-get update && sudo apt-get install -y \
    build-essential \
    libssl-dev \
    uuid-dev \
    libgpgme11-dev \
    squashfs-tools \
    wget \
    git
  • 安装go:

下载go安装包

$ export VERSION=1.11 OS=linux ARCH=amd64
$ cd /tmp
$ wget https://dl.google.com/go/go$VERSION.$OS-$ARCH.tar.gz

解压到 /usr/local(需要sudo权限)

$ sudo tar -C /usr/local -xzf go$VERSION.$OS-$ARCH.tar.gz

最后添加$GO_PATH, 更新$PATH

$ echo 'export GOPATH=${HOME}/go' >> ~/.bashrc
$ echo 'export PATH=/usr/local/go/bin:${PATH}:${G
  • 5
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值