基因组自动化组装

基因组自动化组装

自动化组装流程基于snakemake进行

序列文件准备

设置工作目录为path,序列文件放在path/reads目录下,并按照如下格式进行重命名,每个样本的双端序列放在对应的文件夹中。

image
image
image

在序列文件比较多的时候,可以使用sort.py进行分类,自动将其放入对应的文件夹中。sort.py放在序列文件所在的目录下,运行即可。

#!/usr/bin/python3
import os
import shutil

# 获取当前工作目录
current_dir = os.getcwd()

# 遍历当前目录下的文件
for file in os.listdir(current_dir):
    if file.endswith(".fastq.gz"):
        prefix = file.split(".")[0]  # 获取文件名前缀
        if not os.path.exists(prefix):  # 如果文件夹不存在则创建
            os.makedirs(prefix)
        shutil.move(file, os.path.join(current_dir, prefix, file))  # 移动文件到对应文件夹

流程运行

根据样品序列的命名规则,修改SG_assembly.smk文件中的内容,需要修改rule fastp的input部分,使其与输入文件名称相匹配。

image

然后需要试运行流程,查看各个部分输入文件和输出文件能否正常衔接。试运行成功后即可正式开始流程。

# 试运行
snakemake -s SG_assembly.smk -np
# 正式运行
snakemake -s SG_assembly.smk -p -c 4

配置工作目录

所有在Snakefile中的路径都是相对于执行snakemake命令的目录解释的,因此在默认情况下,其他目录都需要与snakemake_file在同一个文件夹下。为了便于操作,也可指定工作目录运行,需要注意如下几点:

①工作目录下包含reads,results以及config文件夹,并对config.yaml进行修改,并修改序列文件所在的路径,该路径为对于工作目录的相对路径

samples_path: reads
unqualified: 10
read_length: 40

②工作流程中的snakemake_file以及scripts,modules,可保持在原位置不变,在该目录下运行SG_assembly.smk时程序仍然会在当前目录下读取这些文件。

③开始运行流程,通过-d 参数指定工作目录的绝对路径

# 试运行
snakemake -s SG_assembly.smk -np -d path
# 正式运行
snakemake -s SG_assembly.smk -p -c 4 -d path
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容