Fork me on GitHub

NGPhylogeny.fr

Documentation

Overview

NGPhylogeny.fr is a webservice dedicated to phylogenetic analysis. It provides a complete set of phylogenetic tools and workflows adapted to various contexts and various levels of user expertise. It is built around the main steps of most phylogenetic analyses:

Workflow

NGPhylogeny.fr integrates several tools for each steps of the workflow:

Workflow

Different ways of using NGPhylogeny.fr are offered, depending on the user needs or expertise:

  1. Oneclick workflows are already preconfigured with default options that should work on the majority of usecases. The only required input is the sequence data file in Fasta format. Input data type (dna or protein) is detected automatically;
  2. Advanced workflows have basically the same structure as oneclick workflows, but can be parametrized. It means that the user should customize the options of each step of the workflows: alignment, curation, tree inference.
  3. Workflow maker allows the user to choose the combination of tools that suits best his/her needs, and to customize the parameters.
  4. Individual tools may be run if specific taks are required.

Moreover, NGPhylogeny.fr provides a user-friendly visualization layer specific to the different kinds of data usually manipulated in phylogenetics (i.e. alignments, trees).

Finally, Blast-Search module is placed upstream phylogenetic workflows and aims at searching for sequences that are similar to a given user input sequence. Blast-Search then analyses Blast results and builds a quick (and inaccurate) tree in which users can remove unwanted sequences. Remaining sequences may then be used as input of any ngphylogeny.Fr workflows.

Branch supports

In addition to their respective bootstraps, almost all tree inference tools are proposed with the following branch support computations:

  1. Felsenstein Bootstrap Proportions (FBP);
  2. Transfer Bootstrap Expectation (TBE).

For example, it is possible to compute FBP and TBE supports with FastTree.

Bootstrap options are accessible via "Advanced workflows" and "Workflow maker".

Computations

NGPhylogeny.fr works together with Institut Pasteur Galaxy instance to:

  1. Manage tools and workflows;
  2. Run tools and workflows on the underlying computing cluster;
  3. Keep track of run histories.

Workflow

Oneclick workflows

One click workflows are accessible via the "Phylogeny Analysis/One click workflow" link on the tool bar:

One click workflows

The 4 oneclick workflows implemented in NGPhylogeny.fr differ by the tree inference tool:

  1. PhyML+SMS: This workflow uses PhyML+SMS to select the best evolutionary model and to infer the trees. However, it may not handle very large datasets, as the tree inference may take a very long time. SH-like aLRT branch supports are computed by default;
  2. PhyML: This workflow uses PhyML to infer trees. Default options depend on data type (dna, protein). Like PhyML+SMS, large datasets may not be analyzed with this workflow;
  3. FastME: This workflow infer trees using FastME. FastME provides distance algorithms to infer phylogenies and can work with large datasets;
  4. FastTree: This workflow runs FastTree to infer trees. "FastTree infers approximately-maximum-likelihood phylogenetic trees from alignments of nucleotide or protein sequences" and works for very large datasets. Local branch supports (SH) are computed by default by FastTree.

Sections below describe these oneclick workflows and all the steps.

PhyML+SMS

PhyML+SMS workflow

Workflow outputs:

PhyML

One click workflows

Workflow outputs:

FastME

One click workflows

Workflow outputs:

FastTree

One click workflows

Workflow outputs:

Default options

MAFFT

BMGE

PhyML+SMS

PhyML

FastME

FastTree

Advanced workflows

Advanced workflows are accessible via the "Phylogeny Analysis/Advanced workflows" link on the tool bar:

Advanced workflows

Advanced workflows have the same structure as oneclick workflows, but some options can be customized.

In particular, it is possible to perform specific bootstrap analyses:

Workflow Maker

The workflow maker is accessible via the "Phylogeny Analysis/Workflow maker" link on the tool bar:

Workflow Maker

In this mode, users can choose the tool they want to run at each step of the workflow:

  1. Multiple alignment: Clustal omega; MAFFT; MUSCLE;
  2. Alignment curation: BMGE; Gblocks; Noisy;
  3. Tree inference: FastME; FastTree; MrBayes; PhyML+SMS; PhyML; TNT;
  4. Tree rendering: Newick Display.

In addition, parameters of each step should be specified.

Launch individual tools

Tools that make up the workflows can be configured and run independently. They are available via the "tools" link on the toolbar:

Workflow Maker

Blast-Search

Blast-Search is accessible via the "Phylogeny Analysis/Blast" link on the tool bar:

Workflow Maker

User just have to paste an input sequence, and specify a few options:

  1. Program: blastp, blastn, blastx, tblastn;
  2. Database: refseq, swissprot, nr, etc.;
  3. Max number of results: Only the specified number of closest sequences will be taken into account (based on bitscore);
  4. E.Value threshold;
  5. Query coverage threshold: percentage of aligned sequence compared to query length;
  6. Contact Email: Optional parameter, to be notified when analysis is over.

A Blast run will be launched on the Galaxy instance. The given number of best matches will be treated, and a neighbor joining tree will be computed from a distance matrix (Kimura distance for DNA sequences and Jukes Cantor distance for Protein sequences).

Once the neighbor joining tree is computed, it is displayed in a dynamic visualizer in which clades to remove can be selected individually. Clicking the "Delete selected sequences" button with then remove the sequences from the dataset.

This sequences can be used as input of any phylogenetic workflows by selecting the given blast analysis in the input panel, and then submiting the job:

Blast Run as Input

Browser Extension New

The NGPhylogeny.fr Firefox extension detects sequences (nucleotide or protein) on the web page you're viewing, fetches one directly by NCBI/UniProt accession number, or pulls a whole set of orthologs from OrthoDB by gene name and taxonomy level - then formats them as FASTA and pastes them into a One Click or BLAST-Search form, without having to save them to a file first.

Install it for Firefox - Firefox should show an "Add extension?" prompt automatically.

From a page

  1. Open a page containing sequences (NCBI, UniProt, an online FASTA file, an article...). Optionally select just the text you want first.
  2. Click the extension icon: the detected sequences are listed (editable name, DNA/RNA/protein type, length). Untick anything you don't want.
  3. Choose a destination: One Click (several sequences, via checkboxes) or Blast (a single sequence, via a radio button).
  4. Click "Send to NGPhylogeny"/"Send to Blast": a new tab opens with the corresponding NGPhylogeny.fr form, pre-filled with the sequences in FASTA format (also copied to the clipboard as a safety net).
  5. The form is never submitted automatically - review it, then start the analysis yourself.

By accession or ortholog search

Don't have the sequence open in a tab? Type one or more accession numbers (space, comma or newline separated) into the popup's "Fetch by accession" box and click Fetch - each is tried against NCBI and UniProt until one answers.

Building a species tree instead? Use "Fetch orthologs (OrthoDB)": type a gene/protein name (e.g. TRIM5) and, optionally, a taxonomy level (e.g. Primates) to control how broad the search is, then pick one of the matching orthologous groups to fetch every ortholog in it in one go, one sequence per species.

Fetched sequences land alongside the page-detected ones and are sent the same way.

Typical analysis

Once the phylogenetic workflow is configured and launched, user is redirected to a waiting page giving informations about the run:

Workflow Maker

All workflows start by uploading input data to Institut Pasteur Galaxy server. Each step of the workflow is then put in pending status, waiting for available resources on the Galaxy server.

Workflow Maker

Once a step executed, corresponding result files are downloadable or viewable depending on the format. Images, trees, and alignments are viewable through specific viewers. In addition, trees may be uploaded to iTOL for further investigations.

Run NGPhylogeny.fr locally (Docker)

NGPhylogeny.fr can be run locally with Docker Compose.

If you already have a Galaxy server running somewhere, with NGPhylogeny's tools and workflows installed (see the NGPhylogeny_fr_galaxytools repository), point NGPhylogeny.fr at it and start it:

NGPHYLO_GALAXY_URL=http://host.docker.internal:8080 \
NGPHYLO_GALAXY_KEY=<galaxy admin api key> \
docker compose up -d

This starts the Django app (on http://localhost:8000) together with Postgres, Redis, and a Celery worker/beat, plus a one-shot service that runs migrations and creates an admin user (admin / password by default - override with the NGPHYLO_ADMIN_USER/NGPHYLO_ADMIN_EMAIL/NGPHYLO_ADMIN_PASSWORD environment variables).

Don't have a Galaxy server available? docker-compose.standalone.yml brings up NGPhylogeny.fr and a full Galaxy server - with NGPhylogeny's own tools and workflows already installed - in one command:

git clone https://github.com/C3BI-pasteur-fr/ngphylogeny-galaxy.git ../NGPhylogeny_fr_galaxytools
docker compose -f docker-compose.standalone.yml up -d

First boot takes a few minutes (pulling images, installing tool dependencies). NGPhylogeny.fr then comes up at http://localhost:8000, Galaxy itself at http://localhost:8080.

See the project's README for the full set of configuration options (maintenance mode, BLAST server selection, email notifications).

Dataset size limitation

NGPhylogeny can handle large datasets. However, on the public server, we implemented limitations on the number and length of sequences that depend on the running tool. An error is displayed if the dataset is too large to be analyzed with the public instance of NGPhylogeny.fr.

In contrast, these limitations are not activated if you run NGPhylogeny.fr locally using Docker.