我尝试使用 snakemake 从 RNA-seq 管道构建 DAG 或规则图会导致来自 graphviz 的错误消息。'错误::'文件'附近的第 1 行中的语法错误。
可以通过注释掉两个没有可见语法错误的打印命令来纠正该错误。我尝试在 Notepad++ 中将脚本从 UTF-8 转换为 Ascii。Graphviz 似乎对这两个特定的打印语句有问题,因为管道脚本中还有其他打印语句。即使错误很容易纠正,它仍然很烦人,因为我希望同事能够轻松地为他们的出版物构建这些图表,并且打印语句会告知他们工作流程中发生的事情。我的管道由一个蛇文件和多个规则文件以及一个配置文件组成。如果有问题的行在 Snakefile 中被注释掉,那么 graphviz 会对规则脚本中的另一行提出问题。
#######Snakefile
!/usr/bin/env Python
import os
import glob
import re
from os.path import join
import argparse
from collections import defaultdict
import fastq2json
from itertools import chain, combinations
import shutil
from shutil import copyfile
#Testing for sequence file extension
directory = "."
MainDir = os.path.abspath(directory) + "/"
## build the dictionary with full path for each for sequence files
fastq=glob.glob(MainDir+'*/*'+'R[12]'+'**fastq.gz')
if len(fastq) > 0 :
print('Sequence file extensions have fastq')
os.system('scripts/Move.sh')
fastq2json.fastq_json(MainDir)
else :
print('File extensions are good')
######Rule File
if not config["GroupdFile"]:
os.system('Rscript scripts/Table.R')
print('No GroupdFile provided')
snakemake --forceall --rulegraph | dot -Tpdf > dag.pdf 应该会产生一个显示 snakemake 工作流程的 pdf 输出,但是如果这两行没有被注释掉,则会导致 Error: : syntax error in line 1 near