Skip to content

Snakemake #
Find similar titles

You are seeing an old version of the page. Go to latest version

Structured data

Category
Analysis
Software

Snakemake (스네이크메이크) #

스네이크메이크 #

스네이크메이크는 워크플로우 관리 시스템(Workflow Management System, WMS)툴로서 유향 비순환 그래프 방식 (Directed Acyclic Graph, DAG) 으로 구현되어 있다. 워크플로우 가독성이 좋으며 파이썬으로도 작성할 수 있어서 호환성이 좋다. 서버, 클러스터, 그리드, 클라우드 환경에 다 적용할 수 있는 툴로 일주일에 5편에 논문 인용이 나올 만큼 인기가 많다.

스네이크메이크 주요 문법 #

rule : 룰은 shell script 명령어와 input, output을 지정하여 받을 수 있다. shell 명령어에 맞는 input을 입력하면 예상되는 output 출력 결과값을 output에 입력한다.

Image

스네이크메이크 공식 튜토리얼 시퀀싱 리드 맵핑 예제 (출처)

wildcards: 와일드카드는 컴퓨터에서 특정 명령어로 명령을 내릴 때, 여러파일을 한꺼번에 지정할 목적으로 사용하는 기호를 가리킨다. 스네이크메이크 에서는 {변수이름} 으로 지정한다. 가장 중요한 개념으로 위에 리드 맵핑 예제에서 {sample}.fastq 파일은 a.fastq, b.fastq, asdf.fastq 모두를 받을 수 있고 따라서 각각의 파일에 rule이 적용된다. 위에 룰이 실행되면 스네이크메이크는 wildcards에 sample 변수를 맵핑하여 shell 명령어에서는 {wildcards.sample} 해주어야 sample을 인식할 수 있다.

Config files: config file은 변수를 지정해주는 snakefile 과 분리되어 rule에 shell에서 작업할 필요없이 파일하나로 커스터마이징이 가능하다. 이렇게 커스터마이징 파일을 따로 만들면 직관적인 워크플로우를 만들 수 잇다.

Image

스네이크메이크 개발자가 제작한 germline varaint calling pipeline config file (출처)

0.0.1_20210630_7_v33