前几年,一直用Linuxshell来跑组学数据。效率还不错,但是在标准化分析过程中,很多步骤还是需要人工选择,不利于组内师生的使用,而且程序可移植性差。因此打算用snakemake来搭建一些组学的生信流程,提高工作效率。
第一个问题snakemake的用途和优势?
第二个问题snakemake的安装和用法?
一、snakemake的用途和优势
Snakemake是创建可复制和可扩展数据分析的工具,基于python语言来描述,可以无缝的扩展到服务器、集群、云环境等,而无需修改程序流程。而且snakemake工作流中的软件一次部署,永续利用。
二、Snakemake的安装和用法
1、Snakemake安装
snakemake官方文档中有两种方法安装,分别是conda和pip,俺建议conda。
conda安装有一个问题,就是响应时间慢,因此首先安装mamba软件:
condainstall-cconda-forgemamba
snakemake安装,建议全安装,虽然占用空间,但是一步到位:
mambacreate-cconda-forge-cbioconda-nsnakemakesnakemake
上述脚本建立snakemake虚拟环境,启动:
condaactivatesnakemakesnakemake--help
2、Snakemake基本用法
snakemake的流程是靠每条rule进行串联,一个rule的输出作为另一个rule的输入,在流程分析上有很大优势:
#Anruleexample#NAME代表ruleNAME:input:"path/to/inputfile","path/to/other/inputfile"output:"path/to/outputfile","path/to/another/outputfile"shell:"some