A way to change WF steps name
Under subwaw the step names are generated sequentially (ex. blast, blast1, blast2 ... for all instances of tools in the blasat group of tools) !!!
The generated sag interface is thus not very explicit for end user.
A way to solve this issue is to edit to generated config file before rebuilding the WF.
ex. while using Orientator_khalid WF the config file is :
{
name: "UnchangedWF",
docker_name: "unchangedwf",
description: "My workflow",
version: "0.0.1",
author: "MBB",
options: [
{
name: "results_dir",
type: "output_dir",
value: "/Results",
label: "Results directory: ",
volumes: [Results: "/Results"]
},
],
steps_in: [
{ step_name: "blast", tool_name: "makeblastdb", rule_name: "makeblastdb",
params: [
#{ input_name: genome_fasta, origin_command: raw_contigs, origin_name: contigs, origin_step: input}, # This input will be read from the params file (see documentation)
]
},
{ step_name: "blast_2", tool_name: "makeblastdb", rule_name: "makeblastdb",
params: [
#{ input_name: genome_fasta, origin_command: raw_contigs, origin_name: contigs, origin_step: input}, # This input will be read from the params file (see documentation)
]
},
{ step_name: "blast_3", tool_name: "makeblastdb", rule_name: "makeblastdb",
params: [
#{ input_name: genome_fasta, origin_command: raw_contigs, origin_name: contigs, origin_step: input}, # This input will be read from the params file (see documentation)
]
},
{ step_name: "vcf_postprocess_3", tool_name: "vcftools_allelic_variants_count_sfs", rule_name: "vcftools_allelic_variants_count_sfs",
params: [
{ input_name: vcf, origin_command: raw_vcf_file, origin_name: vcf_file, origin_step: input},
]
},
{ step_name: "vcf_postprocess", tool_name: "BEDTools_vcf_flanking_sequence", rule_name: "BEDTools_vcf_flanking_sequence",
params: [
{ input_name: vcf, origin_command: raw_vcf_file, origin_name: vcf_file, origin_step: input},
{ input_name: genome_fasta, origin_command: raw_fasta_file, origin_name: fasta_file, origin_step: input},
]
},
{ step_name: "blast_4", tool_name: "blast_snp2outgroup", rule_name: "blast_snp2outgroup",
params: [
{ input_name: query, origin_command: BEDTools_vcf_flanking_sequence, origin_name: fasta, origin_step: vcf_postprocess},
{ input_name: blastdb_dir, origin_command: makeblastdb, origin_name: database, origin_step: blast},
]
},
{ step_name: "blast_5", tool_name: "blast_snp2outgroup", rule_name: "blast_snp2outgroup",
params: [
{ input_name: query, origin_command: BEDTools_vcf_flanking_sequence, origin_name: fasta, origin_step: vcf_postprocess},
{ input_name: blastdb_dir, origin_command: makeblastdb, origin_name: database, origin_step: blast_2},
]
},
{ step_name: "blast_6", tool_name: "blast_snp2outgroup", rule_name: "blast_snp2outgroup",
params: [
{ input_name: query, origin_command: BEDTools_vcf_flanking_sequence, origin_name: fasta, origin_step: vcf_postprocess},
{ input_name: blastdb_dir, origin_command: makeblastdb, origin_name: database, origin_step: blast_3},
]
},
{ step_name: "other_2", tool_name: "snom", rule_name: "snom",
params: [
{ input_name: blast_out_snom, origin_command: blast_snp2outgroup, origin_name: blastout, origin_step: blast_4},
]
},
{ step_name: "other_3", tool_name: "snom", rule_name: "snom",
params: [
{ input_name: blast_out_snom, origin_command: blast_snp2outgroup, origin_name: blastout, origin_step: blast_5},
]
},
{ step_name: "other_4", tool_name: "snom", rule_name: "snom",
params: [
{ input_name: blast_out_snom, origin_command: blast_snp2outgroup, origin_name: blastout, origin_step: blast_6},
]
},
{ step_name: "other", tool_name: "est_sfs", rule_name: "est_sfs",
params: [
{ input_name: sfs_vcf, origin_command: vcftools_allelic_variants_count_sfs, origin_name: sfs, origin_step: vcf_postprocess_3},
{ input_name: sfs_outgroup1, origin_command: snom, origin_name: sfs_outgroup, origin_step: other_2},
{ input_name: sfs_outgroup2, origin_command: snom, origin_name: sfs_outgroup, origin_step: other_3},
{ input_name: sfs_outgroup3, origin_command: snom, origin_name: sfs_outgroup, origin_step: other_4},
]
},
{ step_name: "vcf_postprocess_2", tool_name: "vcf_annotate", rule_name: "vcf_annotate",
params: [
{ input_name: vcf, origin_command: raw_vcf_file, origin_name: vcf_file, origin_step: input},
{ input_name: tsv, origin_command: est_sfs, origin_name: aatsv, origin_step: other},
]
},
],
steps: [
{ title: "blast", name: "blast", tools: [makeblastdb], default: "makeblastdb" },
{ title: "blast_2", name: "blast_2", tools: [makeblastdb], default: "makeblastdb" },
{ title: "blast_3", name: "blast_3", tools: [makeblastdb], default: "makeblastdb" },
{ title: "vcf_postprocess_3", name: "vcf_postprocess_3", tools: [vcftools_allelic_variants_count_sfs], default: "vcftools_allelic_variants_count_sfs" },
{ title: "vcf_postprocess", name: "vcf_postprocess", tools: [BEDTools_vcf_flanking_sequence], default: "BEDTools_vcf_flanking_sequence" },
{ title: "blast_4", name: "blast_4", tools: [blast_snp2outgroup], default: "blast_snp2outgroup" },
{ title: "blast_5", name: "blast_5", tools: [blast_snp2outgroup], default: "blast_snp2outgroup" },
{ title: "blast_6", name: "blast_6", tools: [blast_snp2outgroup], default: "blast_snp2outgroup" },
{ title: "other_2", name: "other_2", tools: [snom], default: "snom" },
{ title: "other_3", name: "other_3", tools: [snom], default: "snom" },
{ title: "other_4", name: "other_4", tools: [snom], default: "snom" },
{ title: "other", name: "other", tools: [est_sfs], default: "est_sfs" },
{ title: "vcf_postprocess_2", name: "vcf_postprocess_2", tools: [vcf_annotate], default: "vcf_annotate" },
],
input: ["raw_vcf_file","raw_fasta_file",],
params_equals: [
{ param_A: "vcf_postprocess__BEDTools_vcf_flanking_sequence_vcf", param_B: "vcf_postprocess_3__vcftools_allelic_variants_count_sfs_vcf"},
{ param_A: "vcf_postprocess__BEDTools_vcf_flanking_sequence_vcf", param_B: "vcf_postprocess_2__vcf_annotate_vcf"},
{ remove: blast_4__blast_snp2outgroup_query},
{ remove: blast_4__blast_snp2outgroup_blastdb_dir},
{ remove: blast_5__blast_snp2outgroup_query},
{ remove: blast_5__blast_snp2outgroup_blastdb_dir},
{ remove: blast_6__blast_snp2outgroup_query},
{ remove: blast_6__blast_snp2outgroup_blastdb_dir},
{ remove: other_2__snom_blast_out_snom},
{ remove: other_3__snom_blast_out_snom},
{ remove: other_4__snom_blast_out_snom},
]
}
One solution is to edit to :
{
name: "testEditWF",
docker_name: "testeditwf",
description: "My workflow",
version: "0.0.1",
author: "MBB",
options: [
{
name: "results_dir",
type: "output_dir",
value: "/Results",
label: "Results directory: ",
volumes: [Results: "/Results"]
},
],
steps_in: [
{ step_name: "BlastDBOutGroup1", tool_name: "makeblastdb", rule_name: "makeblastdb",
params: [
#{ input_name: genome_fasta, origin_command: raw_contigs, origin_name: contigs, origin_step: input}, # This input will be read from the params file (see documentation)
]
},
{ step_name: "BlastDBOutGroup2", tool_name: "makeblastdb", rule_name: "makeblastdb",
params: [
#{ input_name: genome_fasta, origin_command: raw_contigs, origin_name: contigs, origin_step: input}, # This input will be read from the params file (see documentation)
]
},
{ step_name: "BlastDBOutGroup3", tool_name: "makeblastdb", rule_name: "makeblastdb",
params: [
#{ input_name: genome_fasta, origin_command: raw_contigs, origin_name: contigs, origin_step: input}, # This input will be read from the params file (see documentation)
]
},
{ step_name: "vcf_postprocess_3", tool_name: "vcftools_allelic_variants_count_sfs", rule_name: "vcftools_allelic_variants_count_sfs",
params: [
{ input_name: vcf, origin_command: raw_vcf_file, origin_name: vcf_file, origin_step: input},
]
},
{ step_name: "vcf_postprocess", tool_name: "BEDTools_vcf_flanking_sequence", rule_name: "BEDTools_vcf_flanking_sequence",
params: [
{ input_name: vcf, origin_command: raw_vcf_file, origin_name: vcf_file, origin_step: input},
{ input_name: genome_fasta, origin_command: raw_fasta_file, origin_name: fasta_file, origin_step: input},
]
},
{ step_name: "OutGroup1", tool_name: "blast_snp2outgroup", rule_name: "blast_snp2outgroup",
params: [
{ input_name: query, origin_command: BEDTools_vcf_flanking_sequence, origin_name: fasta, origin_step: vcf_postprocess},
{ input_name: blastdb_dir, origin_command: makeblastdb, origin_name: database, origin_step: BlastDBOutGroup1},
]
},
{ step_name: "OutGroup2", tool_name: "blast_snp2outgroup", rule_name: "blast_snp2outgroup",
params: [
{ input_name: query, origin_command: BEDTools_vcf_flanking_sequence, origin_name: fasta, origin_step: vcf_postprocess},
{ input_name: blastdb_dir, origin_command: makeblastdb, origin_name: database, origin_step: BlastDBOutGroup2},
]
},
{ step_name: "OutGroup3", tool_name: "blast_snp2outgroup", rule_name: "blast_snp2outgroup",
params: [
{ input_name: query, origin_command: BEDTools_vcf_flanking_sequence, origin_name: fasta, origin_step: vcf_postprocess},
{ input_name: blastdb_dir, origin_command: makeblastdb, origin_name: database, origin_step: BlastDBOutGroup3},
]
},
{ step_name: "FindHomologOutGrp1", tool_name: "snom", rule_name: "snom",
params: [
{ input_name: blast_out_snom, origin_command: blast_snp2outgroup, origin_name: blastout, origin_step: OutGroup1},
]
},
{ step_name: "FindHomologOutGrp2", tool_name: "snom", rule_name: "snom",
params: [
{ input_name: blast_out_snom, origin_command: blast_snp2outgroup, origin_name: blastout, origin_step: OutGroup2},
]
},
{ step_name: "FindHomologOutGrp3", tool_name: "snom", rule_name: "snom",
params: [
{ input_name: blast_out_snom, origin_command: blast_snp2outgroup, origin_name: blastout, origin_step: OutGroup3},
]
},
{ step_name: "other", tool_name: "est_sfs", rule_name: "est_sfs",
params: [
{ input_name: sfs_vcf, origin_command: vcftools_allelic_variants_count_sfs, origin_name: sfs, origin_step: vcf_postprocess_3},
{ input_name: sfs_outgroup1, origin_command: snom, origin_name: sfs_outgroup, origin_step: FindHomologOutGrp1},
{ input_name: sfs_outgroup2, origin_command: snom, origin_name: sfs_outgroup, origin_step: FindHomologOutGrp2},
{ input_name: sfs_outgroup3, origin_command: snom, origin_name: sfs_outgroup, origin_step: FindHomologOutGrp3},
]
},
{ step_name: "vcf_postprocess_2", tool_name: "vcf_annotate", rule_name: "vcf_annotate",
params: [
{ input_name: vcf, origin_command: raw_vcf_file, origin_name: vcf_file, origin_step: input},
{ input_name: tsv, origin_command: est_sfs, origin_name: aatsv, origin_step: other},
]
},
],
steps: [
{ title: "BlastDBOutGroup1", name: "BlastDBOutGroup1", tools: [makeblastdb], default: "makeblastdb" },
{ title: "BlastDBOutGroup2", name: "BlastDBOutGroup2", tools: [makeblastdb], default: "makeblastdb" },
{ title: "BlastDBOutGroup3", name: "BlastDBOutGroup3", tools: [makeblastdb], default: "makeblastdb" },
{ title: "vcf_postprocess_3", name: "vcf_postprocess_3", tools: [vcftools_allelic_variants_count_sfs], default: "vcftools_allelic_variants_count_sfs" },
{ title: "vcf_postprocess", name: "vcf_postprocess", tools: [BEDTools_vcf_flanking_sequence], default: "BEDTools_vcf_flanking_sequence" },
{ title: "OutGroup1", name: "OutGroup1", tools: [blast_snp2outgroup], default: "blast_snp2outgroup" },
{ title: "OutGroup2", name: "OutGroup2", tools: [blast_snp2outgroup], default: "blast_snp2outgroup" },
{ title: "OutGroup3", name: "OutGroup3", tools: [blast_snp2outgroup], default: "blast_snp2outgroup" },
{ title: "FindHomologOutGrp1", name: "FindHomologOutGrp1", tools: [snom], default: "snom" },
{ title: "FindHomologOutGrp2", name: "FindHomologOutGrp2", tools: [snom], default: "snom" },
{ title: "FindHomologOutGrp3", name: "FindHomologOutGrp3", tools: [snom], default: "snom" },
{ title: "other", name: "other", tools: [est_sfs], default: "est_sfs" },
{ title: "vcf_postprocess_2", name: "vcf_postprocess_2", tools: [vcf_annotate], default: "vcf_annotate" },
],
input: ["raw_vcf_file","raw_fasta_file",],
params_equals: [
{ param_A: "vcf_postprocess__BEDTools_vcf_flanking_sequence_vcf", param_B: "vcf_postprocess_3__vcftools_allelic_variants_count_sfs_vcf"},
{ param_A: "vcf_postprocess__BEDTools_vcf_flanking_sequence_vcf", param_B: "vcf_postprocess_2__vcf_annotate_vcf"},
{ remove: OutGroup1__blast_snp2outgroup_query},
{ remove: OutGroup1__blast_snp2outgroup_blastdb_dir},
{ remove: OutGroup2__blast_snp2outgroup_query},
{ remove: OutGroup2__blast_snp2outgroup_blastdb_dir},
{ remove: OutGroup3__blast_snp2outgroup_query},
{ remove: OutGroup3__blast_snp2outgroup_blastdb_dir},
{ remove: FindHomologOutGrp1__snom_blast_out_snom},
{ remove: FindHomologOutGrp2__snom_blast_out_snom},
{ remove: FindHomologOutGrp3__snom_blast_out_snom},
]
}
Then save it and run (commands from /tmp/debug.txt) :
python3 /var/www/html/waw/generate_workflow_snakefile.py UnchangedWF /var/www/html/waw/output/Cnba03AL5LNsadwZ/ /var/www/html/waw/
python3 /var/www/html/waw/generate_sag_yaml.py /var/www/html/waw/output/Cnba03AL5LNsadwZ/UnchangedWF/UnchangedWF.yaml /var/www/html/waw/ > /var/www/html/waw/output/Cnba03AL5LNsadwZ/UnchangedWF/sag.yaml
python3 /var/www/html/waw/generate_workflow.py /var/www/html/waw/output/Cnba03AL5LNsadwZ/UnchangedWF/UnchangedWF.yaml /var/www/html/waw/output/Cnba03AL5LNsadwZ/UnchangedWF/ /var/www/html/waw/ default >> /tmp/debug.txt 2>&1
cd /var/www/html/sag/ && Rscript main.R /var/www/html/waw/output/Cnba03AL5LNsadwZ/UnchangedWF/sag.yaml /var/www/html/waw/output/Cnba03AL5LNsadwZ/UnchangedWF/sagApp "" "" > /dev/null 2>&1
#if you want to run shiny app
exec sudo Rscript -e "setwd('/var/www/html/waw/output/Cnba03AL5LNsadwZ/UnchangedWF//sagApp/'); " -e "shiny::runApp('/var/www/html/waw/output/Cnba03AL5LNsadwZ/UnchangedWF//sagApp/app.R',port=3838 , host='0.0.0.0')"
or zip files in /var/www/html/waw/output/Cnba03AL5LNsadwZ/UnchangedWF/