alaesahbou / BuscoPhylo

BuscoPhylo : Easy Busco-based phylogenomic analysis tool
MIT License
9 stars 1 forks source link

BuscoPhylo



Thanks to the advances in DNA sequencing technolgies, thousands of genome sequences of living organisms are being released in the public databases every day. BuscoPhylo has been implemented to provide a fully automated and complete pipeline to quickly perform BUSCO-based phylogenomic analysis starting from assembled genome sequences as inputs. BuscoPhylo is a free, on-line and user-friendly webserver accepting genome sequences in FASTA format as inputs and enabling to the user to export the tree ready for publication and all the results of the steps included in the pipeline for downstream analyses.

BuscoPhylo workflow

graph TD

    a{{Genome sequences >= 4 <br> <i>FASTA format}} -- <i>BUSCO --> b(BUSCO outputs)
    b --> c(Get Shared single copy BUSCO genes)
    c --> |<i>muscle & trimAl| d(Individual alignments <br> for each BUSCO family gene)
    d -- <i>Seqkit --> e(Concatenate alignments)
    e --> |<i>Infering tree using <br>IQ-TREE| f(ML tree)
    f --> |<i>ETE3| g[Graphical Display]
    f --> h[Download Results]

        classDef green fill:#93FF33,stroke:#333,stroke-width:2px
        classDef blue fill:#00FA9A,stroke:#333,stroke-width:4px

        class g,a,h green
        class b,c,d,e,f blue

Installation

  1. Download the application and extract the zipped file in your web server (xampp, ampps, WAMP, online server …)
    # Download the BuscoPhylo source code 
    git clone https://github.com/alaesahbou/BuscoPhylo.git
    # Move the the BuscoPhylo dir to your your server (exmaple here lampp)
    mv BuscoPhylo/ /opt/lampp/htdocs/
  2. Setup the server
    # Give BuscoPhylo root privileges using the following command
    sudo chown -R daemon /BuscoPhylo_directory
    sudo visudo
    # insert th following lines after User privilege specification comment 
    # for xampp replace USER by daemon and for ampps replace USER by ampps
    [USER] ALL=(ALL:ALL) ALL
    [USER] ALL=(ALL) NOPASSWD: ALL
    # open the file with a text manger
    vim /etc/php5/cli/php.ini
    # change these lines:
    max_file_uploads=5000
    upload_max_filesize=8000M
    post_max_size=8000M
  3. Open BuscoPhylo tool via localhost on you browser (http://localhost/BuscoPhylo/)
  4. Connect BuscoPhylo to mysql

    Enter your login and password of your mysql server

    image

    Requirements

    • Python3( sudo apt install python3)
    • Busco(conda install -c bioconda busco)
    • Biopython(conda install -c conda-forge biopython)
    • MUSCLE(conda install -c bioconda muscle)
    • trimAl(conda install -c bioconda trimal)
    • IQ-TREE(conda install -c bioconda iqtree)
    • ETE3(conda install -c etetoolkit ete3)

Submitting a project

  1. Input Requirements

    • At least 4 Genome sequence files in FASTA format (.fa,.fsa,.fasta,.fna are supported)
    • File names will be used as leaf labels
    • We recommand this format Genus_species_strain.fasta
  2. GUI input portal

  3. Output files

    • outBusco directory containing Busco runs
    • out directory containing the ML tree, logs, BSCg as proteins and alignments
    • pdf, png and svg files for phylogenomic tree

BuscoPhylo webserver

BuscoPhylo webserver is freely accessible at https://Buscophylo.inra.org.ma

BuscoPhylo API

Accessing the BuscoPhylo API

The BuscoPhylo API can be accessed through the user dashboard and requires an API token for authentication. Your API token can be found under your user name in the dashboard.

Installing the BuscoPhylo API

To install the BuscoPhylo API, run the following command in your terminal:

pip install buscophylo

Using the BuscoPhylo API

To use the BuscoPhylo API, import the buscophylo module and initiate an instance of the BuscoPhylo class with your API token, then run the run function:

from buscophylo import BuscoPhylo

buscophylo = BuscoPhylo()
buscophylo.Token("YOUR_API")
buscophylo.Project_Name("Project_Name")
buscophylo.lineage("Lineage")
buscophylo.mode("Mode")
buscophylo.directory("Directory")
buscophylo.Project_groupe("outgroup") # optional
buscophylo.run()

Acknowledging BuscoPhylo

If you use the BuscoPhylo API in your work, it is important to cite it in your publication to acknowledge its contribution. The BuscoPhylo API is also available on PyPI at https://pypi.org/project/BuscoPhylo/.

License

BuscoPhylo is licensed under the MIT License.

Reporting bugs and feedback

If you have any suggestions, feedback and bug reports, please contact us at slimane.khayi[at]inra.ma or use the contact form on the website.

Citations

If BuscoPhylo helped with the analysis of your data, please do not forget to cite:

  • Phylogenomics analyses were conducted in BuscoPhylo (Sahbou et al., 2022)
  • BUSCO predictions were performed on each genome using BUSCO V5 (Manni et al 2021) and OrthoDB V10 ( Zdobnov EM et al, 2020).
  • Alignments was performed using Muscle and trimAl (Edgar, 2004; Capella-Gutiérrez et al., 2009).
  • ML tree was inferred using IQ-TREE version 1.6.12 (Nguyen et al., 2015) with the model selection from ModelFinder (Kalyaanamoorthy et al., 2017) using the following defaults parameters: “-bb 1000 -alrt 1000 -nt AUTO -ntmax”.
  • The tree file is visualized using ETE Toolkit (Huerta-Cepas et al., 2016). (These texts may be used for your publication.)