基因組自動(dòng)化組裝
自動(dòng)化組裝流程基于snakemake進(jìn)行
序列文件準(zhǔn)備
設(shè)置工作目錄為path,序列文件放在path/reads目錄下,并按照如下格式進(jìn)行重命名,每個(gè)樣本的雙端序列放在對應(yīng)的文件夾中。

image

image

image
在序列文件比較多的時(shí)候,可以使用sort.py進(jìn)行分類,自動(dòng)將其放入對應(yīng)的文件夾中。sort.py放在序列文件所在的目錄下,運(yùn)行即可。
#!/usr/bin/python3
import os
import shutil
# 獲取當(dāng)前工作目錄
current_dir = os.getcwd()
# 遍歷當(dāng)前目錄下的文件
for file in os.listdir(current_dir):
if file.endswith(".fastq.gz"):
prefix = file.split(".")[0] # 獲取文件名前綴
if not os.path.exists(prefix): # 如果文件夾不存在則創(chuàng)建
os.makedirs(prefix)
shutil.move(file, os.path.join(current_dir, prefix, file)) # 移動(dòng)文件到對應(yīng)文件夾
流程運(yùn)行
根據(jù)樣品序列的命名規(guī)則,修改SG_assembly.smk文件中的內(nèi)容,需要修改rule fastp的input部分,使其與輸入文件名稱相匹配。

image
然后需要試運(yùn)行流程,查看各個(gè)部分輸入文件和輸出文件能否正常銜接。試運(yùn)行成功后即可正式開始流程。
# 試運(yùn)行
snakemake -s SG_assembly.smk -np
# 正式運(yùn)行
snakemake -s SG_assembly.smk -p -c 4
配置工作目錄
所有在Snakefile中的路徑都是相對于執(zhí)行snakemake命令的目錄解釋的,因此在默認(rèn)情況下,其他目錄都需要與snakemake_file在同一個(gè)文件夾下。為了便于操作,也可指定工作目錄運(yùn)行,需要注意如下幾點(diǎn):
①工作目錄下包含reads,results以及config文件夾,并對config.yaml進(jìn)行修改,并修改序列文件所在的路徑,該路徑為對于工作目錄的相對路徑
samples_path: reads
unqualified: 10
read_length: 40
②工作流程中的snakemake_file以及scripts,modules,可保持在原位置不變,在該目錄下運(yùn)行SG_assembly.smk時(shí)程序仍然會在當(dāng)前目錄下讀取這些文件。
③開始運(yùn)行流程,通過-d 參數(shù)指定工作目錄的絕對路徑
# 試運(yùn)行
snakemake -s SG_assembly.smk -np -d path
# 正式運(yùn)行
snakemake -s SG_assembly.smk -p -c 4 -d path