Skip to content

New tool: PhyloPhlAn an integrated pipeline for phylogenetic profiling of genomes and metagenomes#7067

Open
neo417 wants to merge 15 commits intogalaxyproject:mainfrom
neo417:phylophlan
Open

New tool: PhyloPhlAn an integrated pipeline for phylogenetic profiling of genomes and metagenomes#7067
neo417 wants to merge 15 commits intogalaxyproject:mainfrom
neo417:phylophlan

Conversation

@neo417
Copy link
Copy Markdown
Contributor

@neo417 neo417 commented Jun 19, 2025

FOR CONTRIBUTOR:

  • I have read the CONTRIBUTING.md document and this tool is appropriate for the tools-iuc repo.
  • License permits unrestricted use (educational + commercial)
  • This PR adds a new tool or tool collection
  • This PR updates an existing tool or tool collection
  • This PR does something else (explain below)

As suggested by @SaimMomin12, I am also moving this pull request here from bgruening/galaxytools#1639.

PhyloPhlAn comes with a few scripts for downloading reference data, some of which might be more appropriate as data managers. The indices certainly need to be cached. One script (phylophlan_strain_finder) for downstream analysis of trees and mutation rates build with phylophlan still needs to be wrapped as well. Sadly, I don't have the time to work on that at the moment.

Would it be useful to publish what is ready now and add the remaining tools and data managers later?

neo417 added 12 commits June 19, 2025 23:24
…filing of genomes and metagenomes.

PhyloPhlAn GitHub: https://github.com/biobakery/phylophlan

The tool suite consists of multiple scripts which need to be wrapped into tools and data managers, but this branch
is only concerned with creating the tool wrappers. As of this commit only phylophlan.xml is largely complete.
This is the main script to run the Concatenation and Gene-trees pipelines, and allows the user to configure
which external tools they want to use at every analysis step.

- Support for some preconfigured external tools is missing (Opal, UPP and astrid).
- Using aligned markers from StrainPhlAn (--strainphlan) is not supported.
- Code and .loc files to access cached datasets are missing.

phylophlan_assign_sgbs and phylophlan_draw_metagenomic are used to report and visualize the closest species-level
genome bins, for each bin from a metagenomic assembly analysis. My progress on them has recently stalled,
because the scripts rely entirely on the presence of a cached database, which I did not implement like above.
Besides that they are missing an expanded help section, and the current release of the assign_sgbs script
has a bug limiting some of the functionality (pairwise mash distances of the input).

phylophlan_strain_finder would be a tool to perform analysis on trees and mutation rate tables build with phylophlan,
but I have not wrapped it (yet?).

The test data have been created by cutting down example data from the tutorials on the PhyloPhlAn github.
Cached databases use the unique ID as the database name.
This is used to enable phylophlan to override some parameters for the PhyloPhlAn and AMPHORA2 databases.
If this works now on the online checks I don't understand why it worked on my planemo instance the entire time.
@neo417 neo417 marked this pull request as ready for review July 14, 2025 16:35
@SaimMomin12
Copy link
Copy Markdown
Contributor

@Minamehr would you like to review this in more detail?

neo417 added 2 commits July 25, 2025 20:21
Co-authored-by: Mina Hojat Ansari <73378149+Minamehr@users.noreply.github.com>

Also remove spaces in empty lines in python code.
<macros>
<token name="@TOOL_VERSION@">3.1.1</token>
<token name="@VERSION_SUFFIX@">0</token>
<token name="@PROFILE@">23.0</token>
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
<token name="@PROFILE@">23.0</token>
<token name="@PROFILE@">24.2</token>

<xml name="requirements">
<requirements>
<requirement type="package" version="@TOOL_VERSION@">phylophlan</requirement>
<yield/>
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
<yield/>

<!-- PhyloPhlAn input blocks -->
<xml name="config_select_software">
<conditional name="db">
<param name="type" type="select" argument="-d / -t" label="Database marker type">
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is it possible to stick to one argument either -d or -t?

<xml name="citations">
<citations>
<citation type="doi">10.1038/s41467-020-16366-7</citation>
<yield/>
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
<yield/>

@@ -0,0 +1,604 @@
<tool id="phylophlan" name="PhyloPhlAn" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="@PROFILE@">
<description>
microbial genome characterization and phylogenetic analysis
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
microbial genome characterization and phylogenetic analysis
Microbial genome characterization and phylogenetic analysis

<option value="muscle">muscle</option>
<!-- Todo: Find packages for the tools opal and upp and add options for them here. -->
</param>
<yield/>
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
<yield/>

<command detect_errors="exit_code"><![CDATA[
phylophlan_draw_metagenomic
-i '$input1'
## -o '$output1'
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why this is commented?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants