Hi, I'm trying to apply Snakemake to make pipeline for analyses.
I've just begun, so I want to make simple workflow (BLAST amino acid query sequences against my database), but I have no idea why it keeps making an error. Codes I made is below:
# Configuration file
configfile: "BLAST-config.yaml"
# In configuration file,
QUERY_PATH_faa: /home/user/study/faa_input/
OUTPUT_PATH_master: /home/user/study/blast_output
DataBaseProt: /home/user/db/protein_ref
BLASTParams: "-evalue 0.01 -perc_identity 70 -word_size 10 sorthits 3"
# FILENAMES_faa contains the list of file name without extensions
FILENAMES_faa = glob_wildcards(config["QUERY_PATH_faa"]+"{fname}.faa").fname
rule all:
input:
expand(config["OUTPUT_PATH_master"]+"/BLAST/{filename}.RAW", filename=FILENAMES_faa)
rule RAWBLASTVF:
input:
expand(config["QUERY_PATH_faa"]+"{filename}.faa", filename=FILENAMES_faa)
output:
expand(config["OUTPUT_PATH_master"]+"BLAST/{filename}.RAW", filename=FILENAMES_faa)
threads:
30
shell:
"""
blastp {config[BLASTParams]} \
-db "{config[DataBaseProt}" \
-query {input} \
-out {output} \
-outfmt 7 \
-num_threads {threads}
"""
And the error I got is:
MissingInputException in line ~~ of Snakefile:
Missing input files for rule all:
Path/to/Sample_A.RAW
Path/to/Sample_B.RAW
Path/to/Sample_C.RAW
Does anyone have idea what's wrong with the codes?
Thank you in advance
snakemake
wms
analysis