|
17
|
1 <tool id="pangenome_explorer" name="PanExplorer2" version="2.0">
|
|
2
|
2 <description> Bacterial pan-genome analysis </description>
|
|
|
3 <requirements>
|
|
7
|
4 <requirement type="package" version="1.30">perl-yaml</requirement>
|
|
|
5 <requirement type="package" version="3.8.7">singularity</requirement>
|
|
20
|
6 <container type="docker">docker.io/dereeper/panexplorer_workflow:v2</container>
|
|
2
|
7 </requirements>
|
|
|
8
|
|
|
9 <command><![CDATA[
|
|
7
|
10
|
|
16
|
11 export PANEX_PATH=/usr/local/bin/PanExplorer_workflow;
|
|
14
|
12
|
|
|
13 #if str($mode.mode) == "accessions":
|
|
16
|
14 perl ${__tool_directory__}/generateConfig.pl 'None' '$input' config.yaml 'None';
|
|
14
|
15 #else if str($mode.mode) == "genbanks":
|
|
16
|
16 perl ${__tool_directory__}/generateConfig.pl '$private_genomes' 'None' config.yaml 'None';
|
|
14
|
17 #else if str($mode.mode) == "fasta":
|
|
16
|
18 perl ${__tool_directory__}/generateConfig.pl '$private_genomes' 'None' config.yaml '$private_genomes_fasta';
|
|
14
|
19 #end if
|
|
2
|
20
|
|
|
21 cat config.yaml >$logfile;
|
|
|
22
|
|
19
|
23 touch $vcf;
|
|
22
|
24 touch $vntr_matrix;
|
|
23
|
25 touch $gfa_file;
|
|
24
|
26 touch $coregenes_alignment;
|
|
2
|
27
|
|
|
28 #if $software=="pgap"
|
|
19
|
29 snakemake --cores 1 --config identity=$min_identity -s \$PANEX_PATH/Snakemake_files/Snakefile_wget_PGAP_heatmap_upset_COG >>$logfile 2>&1;
|
|
2
|
30 #else if $software=="roary"
|
|
25
|
31 #else if $software=="roary" and $generate_core_genes_alignment=="true"
|
|
|
32 snakemake --cores 1 --config identity=$min_identity generate_core_genes_alignment=True -s \$PANEX_PATH/Snakemake_files/Snakefile_wget_roary_heatmap_upset_COG >>$logfile 2>&1;
|
|
|
33 #else if $software=="roary"
|
|
|
34 snakemake --cores 1 --config identity=$min_identity generate_core_genes_alignment=False -s \$PANEX_PATH/Snakemake_files/Snakefile_wget_roary_heatmap_upset_COG >>$logfile 2>&1;
|
|
2
|
35 #else if $software=="orthofinder"
|
|
19
|
36 snakemake --cores 1 --config identity=$min_identity -s \$PANEX_PATH/Snakemake_files/Snakefile_orthofinder_heatmap_upset >>$logfile 2>&1;
|
|
2
|
37 #else if $software=="cactus"
|
|
19
|
38 snakemake --cores 1 --config identity=$min_identity -s \$PANEX_PATH/Snakemake_files/Snakefile_wget_cactus_heatmap_upset_COG2 >>$logfile 2>&1;
|
|
2
|
39 #else if $software=="pggb"
|
|
19
|
40 snakemake --cores 1 --config identity=$min_identity -s \$PANEX_PATH/Snakemake_files/Snakefile_wget_pggb_heatmap_upset_COG >>$logfile 2>&1;
|
|
2
|
41 #else
|
|
19
|
42 snakemake --cores 1 --config identity=$min_identity -s \$PANEX_PATH/Snakemake_files/Snakefile_wget_panacota_heatmap_upset_COG >>$logfile 2>&1;
|
|
2
|
43 #end if
|
|
19
|
44
|
|
2
|
45
|
|
|
46 ]]></command>
|
|
|
47
|
|
|
48
|
|
|
49 <inputs>
|
|
14
|
50 <conditional name="mode">
|
|
|
51 <param name = "mode" type="select" label="What is your inputs?">
|
|
|
52 <option value="accessions">Prokaryote genomes: List of Genbank assembly accessions (GCA)</option>
|
|
|
53 <option value="genbanks">Prokaryote genomes: Genbank files</option>
|
|
|
54 <option value="fasta">Eukaryote genomes: FASTA + GFF files</option>
|
|
|
55 </param>
|
|
|
56 <when value="accessions">
|
|
|
57 <param name="input" type="text" multiple="true" label="List of genbank identifiers" help="Coma separated list (ex: GCA_000007385.1,GCA_000010025.1,GCA_000019585.2)"/>
|
|
|
58 <param type="select" name="software" label="Choose the pan-genome software">
|
|
|
59 <option value="roary">Roary</option>
|
|
|
60 <option value="panacota">PanACoTA</option>
|
|
|
61 <option value="pggb">PanGenome Graph Builder (PGGB)</option>
|
|
|
62 </param>
|
|
|
63 </when>
|
|
|
64 <when value="genbanks">
|
|
|
65 <param name="private_genomes" type="data" format="zip" label="Zip of genbank files" optional="true"/>
|
|
|
66 <param type="select" name="software" label="Choose the pan-genome software">
|
|
|
67 <option value="roary">Roary</option>
|
|
|
68 <option value="panacota">PanACoTA</option>
|
|
|
69 <option value="pggb">PanGenome Graph Builder (PGGB)</option>
|
|
|
70 </param>
|
|
|
71 </when>
|
|
|
72 <when value="fasta">
|
|
|
73 <param name="private_genomes_fasta" type="data" format="zip" label="Zip of Fasta files" optional="true"/>
|
|
|
74 <param name="private_genomes" type="data" format="zip" label="Zip of GFF files" optional="true"/>
|
|
|
75 <param type="select" name="software" label="Choose the pan-genome software">
|
|
|
76 <option value="orthofinder">OrthoFinder</option>
|
|
|
77 <option value="cactus">Minigraph-Cactus</option>
|
|
|
78 <option value="pggb">PanGenome Graph Builder (PGGB)</option>
|
|
|
79 </param>
|
|
|
80 </when>
|
|
|
81 </conditional>
|
|
|
82
|
|
2
|
83 <param name="min_identity" type="text" value="80" label="Minimum percentage identity for BlastP" />
|
|
24
|
84 <param name="generate_core_genes_alignment" type="boolean" label="Generate an alignment of core-genes" help="This option is active for roary only" />
|
|
2
|
85 </inputs>
|
|
|
86
|
|
|
87 <outputs>
|
|
19
|
88 <data from_work_dir="outputs/pav_matrix.tsv" format="txt" name="output" label="Pangenome presence absence matrix"/>
|
|
|
89 <data from_work_dir="outputs/heatmap.svg.complete.pdf.distance_matrix.hclust.newick" format="newick" name="njtree" label="PanBased NJ tree"/>
|
|
|
90 <data from_work_dir="outputs/genomes/genes.txt" format="txt" name="genes" label="Genes"/>
|
|
|
91 <data from_work_dir="outputs/cog_output.txt" format="txt" name="cogfile" label="COG assignation"/>
|
|
|
92 <data from_work_dir="outputs/GCskew.txt" format="txt" name="gcfile" label="GC_percent"/>
|
|
|
93 <data from_work_dir="outputs/upsetr.svg" format="svg" name="upset" label="Upset Diagram"/>
|
|
|
94 <data from_work_dir="outputs/heatmap.svg.gz" format="svg" name="heatmap" label="Presence Absence Heatmap"/>
|
|
22
|
95 <data from_work_dir="outputs/vntr_matrix.tsv" format="tabular" name="vntr_matrix" label="VNTR matrix"/>
|
|
19
|
96 <data from_work_dir="outputs/cog_stats.txt" format="tabular" name="outcog_stat" label="COG category counts"/>
|
|
|
97 <data from_work_dir="outputs/cog_stats2.txt" format="tabular" name="outcog_stat2" label="COG category 2 counts"/>
|
|
|
98 <data from_work_dir="outputs/cog_of_clusters.txt" format="tabular" name="outcog_clusters" label="COG of clusters"/>
|
|
|
99 <data from_work_dir="outputs/fastani.out.matrix.complete" format="tabular" name="fastani" label="ANI" />
|
|
|
100 <data from_work_dir="outputs/fastani.out.svg" format="svg" name="ani_svg" label="ANI heatmap" />
|
|
|
101 <data from_work_dir="outputs/rarefaction_curves.txt" format="txt" name="rarefaction_curves" label="Rarefaction curves data"/>
|
|
|
102 <data from_work_dir="outputs/rarefaction_curves.svg" format="svg" name="rarefaction_curves_svg" label="Rarefaction curves"/>
|
|
|
103 <data from_work_dir="outputs/heaps.tsv" format="txt" name="heaps" label="Heaps law alpha"/>
|
|
|
104 <data from_work_dir="outputs/heatmap.svg.complete.pdf.distance_matrix.txt" format="txt" name="distance_matrix" label="Accessory based distance matrix"/>
|
|
|
105 <data from_work_dir="outputs/all_genomes.vcf" format="vcf" name="vcf" label="VCF file"/>
|
|
23
|
106 <data from_work_dir="outputs/pggb_out/all_genomes.fa.smooth.final.gfa" format="gfa1" name="gfa_file" label="GFA file"/>
|
|
25
|
107 <data from_work_dir="outputs/roary_outdir/core_gene_alignment.aln" format="fasta" name="coregenes_alignment" label="Coregenes FASTA alignment"/>
|
|
2
|
108 <data format="txt" name="logfile" label="Logfile"/>
|
|
|
109 <data format="txt" name="roary_log" label="Roary Logfile"/>
|
|
|
110 </outputs>
|
|
14
|
111 <tests>
|
|
|
112 <test>
|
|
|
113 <param name="input" value="GCA_000007385.1,GCA_000010025.1,GCA_000019585.2"/>
|
|
|
114 <param name="min_identity" value="80"/>
|
|
|
115 <param name="software" value="panacota"/>
|
|
|
116 <param name="private_genomes" value=""/>
|
|
|
117 <param name="private_genomes_fasta" value=""/>
|
|
|
118 <output name="distance_matrix" value="Accessory_based_distance_matrix.txt"/>
|
|
|
119 <output name="fastani" value="ANI.txt"/>
|
|
|
120 </test>
|
|
|
121 </tests>
|
|
|
122 <help>
|
|
|
123
|
|
|
124 PanExplorer
|
|
|
125 =======
|
|
|
126
|
|
|
127 PanExplorer workflow is a snakemake worklow that can be run in the backend of the PanExplorer web application.
|
|
|
128
|
|
|
129 Homepage: https://panexplorer.southgreen.fr/
|
|
|
130
|
|
|
131 It allows to perform a pan-genome analysis using published and annotated bacteria genomes, using different tools that can be invoked: Roary, PGAP, PanACoTA.
|
|
|
132
|
|
|
133 Pangenome graph builder softwares have been implemented recently in the pipeline: Minigraph-Cactus and PGGB (PanGenome Graph Builder)
|
|
|
134
|
|
|
135 It provides a presence/absence matrix of genes, an UpsetR Diagram for synthetizing the matrix information and a COG assignation summary for each strain.
|
|
|
136
|
|
|
137 Please visit the GitHub page for the PanExplorer workflow at: https://github.com/SouthGreenPlatform/PanExplorer_workflow
|
|
|
138
|
|
|
139
|
|
|
140 Inputs
|
|
|
141 ------
|
|
|
142
|
|
|
143 Inputs can be provided as one of the following:
|
|
|
144
|
|
|
145 * **List of genbank assembly identifiers** comma-separated(ex: GCA_000007385.1,GCA_000010025.1,GCA_000019585.2)
|
|
|
146 * **Zip of genbank files** They must include the gene annotation and the complete sequence data
|
|
|
147 * **Zip of FASTA file of genomes + Zip of GFF annotation files**: In order to make the association between sequence and annotation, they must be named with the same basename as follows: genome1.fasta, genome1.gff, myspeciesXXX.fasta, myspeciesXXX.gff...
|
|
|
148
|
|
|
149
|
|
|
150
|
|
|
151 Outputs
|
|
|
152 ------
|
|
|
153
|
|
|
154 Among the outputs:
|
|
|
155
|
|
|
156 * **Pangenome presence absence matrix** Pangene presence/absence matrix indicating the PAV (Presence Absence Variation) of clustered genes.
|
|
|
157 * **PanBased NJ tree** Distance tree based on PAV data
|
|
|
158 * **Heaps law alpha** Estimating if a pan-genome is open or closed based on a Heaps law model.
|
|
|
159 * **Rarefaction curves** A rarefaction curve is the cumulative number of gene clusters we observe as more and more genomes are being considered
|
|
|
160 * **ANI** Average Nucleotide Identity between genomes
|
|
|
161 * **ANI heatmap** image as SVG
|
|
|
162 * **VCF file** If a pan-genome graph software has been selected, it provides a VCF of variations among all samples.
|
|
|
163
|
|
|
164
|
|
|
165
|
|
|
166 </help>
|
|
|
167 <citations>
|
|
|
168 <citation type="doi">10.1093/bioinformatics/btac504</citation>
|
|
|
169 </citations>
|
|
2
|
170
|
|
|
171 </tool>
|