Bonjour,
J'ai intégré dans mon pipeline des règles FastQC et qualimap avec une sortie en directory()
. Sauf que le script ne les fait pas tourner étant donnée que je ne m'en sers pas dans d'autres règles et que rule all
n'accepte ni directory()
ni fichier qui n'est marqué nul part en output. Comment puis-je faire ?
Merci
De plus, j'ai des règles qui durent plus de 24h, mais je n'arrive pas à les faire tenir plus que ça.
cluster.ml :
__default__:
mem: 8000 #8GB
partition: "fast"
time: "24:00:00"
bwa:
mem: 16000
partition: "long"
time: "3-00:00:00"
snakefile :
rule bwa:
input:
bwt = config["genome_path"]+"/"+config["genome"]+".fa.bwt",
fasta = config["genome_path"]+"/"+config["genome"]+".fa",
R1 = config["sample_path"]+"/{sample}_R1.fastq",
R2 = config["sample_path"]+"/{sample}_R2.fastq"
output:
temp("mapping/{sample}.sam")
params:
threads = config["threads"]
log: "logs/{sample}.mapping.log"
message: """--- Mapping with BWA MEM ---"""
shell:
"""
mkdir -p mapping
module load bwa/0.7.17
"""
"bwa mem "
"-t {params.threads} "
"{input.fasta} "
"{input.R1} "
"{input.R2} "
"> {output} "
"2> {log}"
Ma ligne de commande
module load snakemake # Charge le module snakemake
module load slurm-drmaa # Charge le module drmaa
snakemake --cluster-config cluster.yml --drmaa \
" --mem={cluster.mem}" --jobs 50 -p
Tu peux utiliser les fichiers de sortie plutôt qu'un dossier pour enchaîner tes règles. Tu peux voir un exemple là:
Bon courage!
Tu dois changer la partition. Par défaut, c'est fast
qui est limitée à 24h.
Dans ton sbatch qui lance snakemake:
#SBATCH -p long
voir la doc: SLURM at IFB Core - IFB Core Cluster Documentation
Bon week-end!
Merci ! J'essaie ça
Par contre, une partie de mon script ne s'enchaîne pas, il faut que je le relance après chaque règle, sauf une partie, mais je ne vois pas de différences (j'utilise en input rules.[regle_précédante]).output
et config["genome_path"]+"/"+config["genome"]+".fa"
et autres formats si besoin.