Coder Social home page Coder Social logo

pianpianyouche / plascad Goto Github PK

View Code? Open in Web Editor NEW
37.0 1.0 11.0 11.09 MB

Plascad is a computationally efficient tool designed for plasmids classification, antibiotic resistance genes (ARGs) annotation and plasmid visualization.

Home Page: https://github.com/pianpianyouche/plascad

License: MIT License

Python 100.00%
plasmids antibiotic-resistance

plascad's Introduction

Plascad

Plascad is a computationally efficient tool designed for automated plasmid classification, ARGs annotation and plasmid visualization.

Contents

Plascad workflow

Plascad first predicts ORFs in the query plasmid sequences and then detects the homologs of genes associated with plasmid transfer by hmmsearch with the built HMM protein profiles. Then, it identifies ARGs by searching against the structed ARGs database (SARGs), at last, a plasmid visualization component using AngularJS is integrated into this pipeline for the visualization of the classified conjugative plasmids.

Requirements

Linux, Python >=3.6, biopython, Prodigal >=2.6.3, blast >=2.7.1, hmmer >=3.2.1

Installation

Plascad can be installed either through conda or pip, though we advise to use Conda.

1, Conda

Use miniconda or anaconda to install Plascad

conda create -n Plascad -y -c bioconda -c pianpianyouche plascad

conda activate Plascad

2, pip3

If you have the dependencies (Python >=3.6, blast >=2.7.1, prodigal >=2.6.3, hmmer >=3.2.1) in your PATH, you can install with pip3

pip3 install Plascad

Usage

Usage: Plascad [-h] [-i] [-n] [-cMOBB CMOBB] [-cMOBC CMOBC] [-cMOBF CMOBF] [-cMOBT CMOBT] [-cMOBPB CMOBPB] [-cMOBH CMOBH] [-cMOBP CMOBP] [-cMOBV CMOBV] [-cMOBQ CMOBQ]

Help:
-h, Show this help message and exit
-i, FASTA file of plasmid sequences -n, Prodigal normal mode, default (meta) -cMOB[B,C,F,T,PB,H,P,V,Q], alignment coverage for MOB HMM profiles

Example

wget https://github.com/pianpianyouche/plascad/raw/master/plas_cad/example/example.fasta

Plascad -i example.fasta

Output files

The final output of Plascad includes four files for the given plasmid sequences:

  1. Summary file of the plasmid classification results.
  2. Genetic location of the genes associated with plasmid transfer and antibiotic resistance genes
    for both mobilizable and conjugative plasmids.
  3. Html files containing the plasmid maps for all the identified conjugative plasmids.

Output of the example fasta file

  1. example_plasmids_classification_sum.txt # sumary of the plasmid classification results
Name plasmid type ARGs
AJ627386.1 Conj chloramphenicol__catA;tetracycline__tetB;tetracycline__tetC;tetracycline__tetD;beta-lactam__TEM-1
NC_002377.1 Conj
NC_002483.1 Conj
NC_005014.1 Conj tetracycline__tetD;tetracycline__tetC;tetracycline__tetB;aminoglycoside__aph(3'')-I;aminoglycoside__aph(6)-I

#note: ARGs are displayed as type_subtype

  1. example_Conj_plasmids_loc_sum.txt # Genetic location of the genes associated with transfer and the detected ARGs
Name Marker genes c-value & e-value Genetic location strand
AJ627386.1 MPFG_41 1.2e-88 35289-35918 1
AJ627386.1 MPFG_44 9.9e-53 38227-38634 1
AJ627386.1 MPFG_51 8.1e-147 44998-46998 -1
AJ627386.1 MPFG_52 9e-123 47013-47954 -1
AJ627386.1 MPFG_ATPase 3.8e-178 38650-41520 1
AJ627386.1 MPFG_T4CP_1 4.4e-193 30481-32730 1
AJ627386.1 MOBH 3.9e-67 55497-57404 1
AJ627386.1 chloramphenicol__catA 1.94e-164 17570-18211 -1
AJ627386.1 tetracycline__tetB 0.0 22897-24102 1
AJ627386.1 tetracycline__tetC 2.36e-166 24215-24883 -1
AJ627386.1 tetracycline__tetD 1.18e-100 24896-25312 1
AJ627386.1 beta-lactam__TEM-1 0.0 50985-51845 -1
NC_002377.1 MPFT_ATPase 1.2e-276 152657-155026 1
NC_002377.1 MPFT_T4CP_1 6.9e-155 170649-172619 1
NC_002377.1 MPFT_virB3 1.6e-29 152331-152657 1
NC_002377.1 MPFT_virB6 4.7e-55 155800-156687 1
NC_002377.1 MPFT_virB8 1.7e-76 156815-157588 1
NC_002377.1 MPFT_virB9 6.3e-97 157585-158466 1
NC_002377.1 MOBQ 5.7e-104 30831-34133 1

#note: c-value for hmmsearch, e-value for blastp

  1. example_Conjugative_plasmids_map # folder containing the maps for all the identified conjugative plasmids

Tips for visualization

A plasmid visualization component using AngularJS is integrated into our pipeline, all the plasmid maps are in HTML formats. In order to view the map locally, you need to download the js folder in addtion to the HTML files.

Acknowledgement

If you publish scientific articles using Plascad, please cite the following articles:

Altschul, SF. et al., Basic local alignment search tool. J. Mol. Biol. 215, 403โ€“410 (1990).

Hyatt, D. et al., Prodigal: prokaryotic gene recognition and translation initiation site identification. BMC Bioinformatics 11, 119 (2010).

Eddy, SR. Accelerated profile HMM searches. PLoS Comput. Biol. 7, e1002195 (2011).

Yin, XL., ARGs-OAP v2.0 with an expanded SARG database and Hidden Markov Models for enhancement characterization and quantification of antibiotic resistance genes in environmental metagenomes. Bioinformatics. 34, 2263-2270 (2018).

Chawdry, R. angularplasmid. (https://github.com/vixis/angularplasmid) (2014)

Citation

If you use Plascad in your work, please cite:

Y. CHE, et al., Conjugative plasmids interact with insertion sequences to shape the horizontal transfer of antimicrobial resistance genes. PNAS. 118(6):e2008731118. doi: 10.1073/pnas.2008731118

Contact

You CHE, [email protected]

plascad's People

Contributors

pianpianyouche avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

plascad's Issues

How to update to the newest database?

Hi, @pianpianyouche
I found database of plascad did't updated last several years. I tried replaceing it directly but failed, probably because I installed it with conda?
There are some ways that I can update the database to the newest by myself?

Visualization

Hello,

So I have no idea how to visualize your .js file. Can you please provide some sort of tutorial on this? So far, your software is working better than anything I've used yet and I'd love to see your visualizations.

Something wrong with running example

Hi, @pianpianyouche
I found this software and I couldn't help trying it. I installed this software using conda. However, when I ran with the example fasta file, it reported that something was wrong:

 Error: Sequence file /mnt/d/test2/example_MOB_temp_mob.faa is empty or misformatted

cat: '*ATPase.hmm_domtblout_parsed_out': No such file or directory
cat: '*T4CP*_domtblout_parsed_out': No such file or directory
cat: '/mnt/d/test2/example*MPFF*_result_out': No such file or directory
cat: '/mnt/d/test2/example*MPFG*_result_out': No such file or directory
cat: '/mnt/d/test2/example*MPFI*_result_out': No such file or directory
cat: '/mnt/d/test2/example*MPFT*_result_out': No such file or directory
Warning: [blastp] Number of threads was reduced to 8 to match the number of available CPUs

I updated the software with conda but the issue was still there. Could you help me? Thanks.

oriT is not mentioned

Hi, @pianpianyouche,
When plascad judges the mobility of a plasmid, does it search the oriT? As far as I know, a plasmid lack of oriT should be concerned as unmobilizable even if having complete T4SS and relaxase.

sort: Broken pipe

Hi!
I tried to run Plascad on plasmid assemblies and also on the example file here in the repo, both returned
Warning: [blastp] Number of threads was reduced to 8 to match the number of available CPUs sort: Broken pipe
Any advice?

Error: Failed to open sequence file example_MOB_temp_mob.faa for reading

Hi, @pianpianyouche
I installed Plascad as you mentioned in the tutorial with conda environment. However, it will report an error when I ran Plascad with example.fasta or my own plasmids files.

Error: Sequence file example_MOB_temp_mob.faa is empty or misformatted


Error: Sequence file example_MOB_temp_mob.faa is empty or misformatted

cat: *ATPase.hmm_domtblout_parsed_out: No such file or directory
cat: *T4CP*_domtblout_parsed_out: No such file or directory
cat: example*MPFF*_result_out: No such file or directory
cat: example*MPFG*_result_out: No such file or directory
cat: example*MPFI*_result_out: No such file or directory
cat: example*MPFT*_result_out: No such file or directory

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.