From a77d454c2cecc74f0f17ac87eaf9305e61edb838 Mon Sep 17 00:00:00 2001 From: Felipe Marques de Almeida Date: Wed, 8 Feb 2023 14:33:36 +0100 Subject: [PATCH 01/42] Add pre-formatted database (#83) * add pre-formatted database info * add information about pre-formatted database --- README.md | 17 +++++++++++++---- docs/quickstart.md | 10 ++++++++++ 2 files changed, 23 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 8bf0a2d7..551b7cdf 100644 --- a/README.md +++ b/README.md @@ -107,15 +107,24 @@ These images have been kept separate to not create massive Docker image and to a nextflow run fmalmeida/bacannot -profile docker --help -🔥 To run the pipeline now users **need** to pass the `-profile docker` or `-profile singularity` parameter explicitely. The pipeline does not load it automatically anymore. +🔥 To run the pipeline now users **need** to pass the `-profile docker` or `-profile singularity` parameter explicitly. The pipeline does not load it automatically anymore. 🔥 Users can get let the pipeline always updated with: `nextflow pull fmalmeida/bacannot` ### Downloading and updating databases -Bacannot databases are not inside the docker images anymore to avoid huge images and problems with conexions and limit rates with dockerhub. +Bacannot databases are not inside the docker images anymore to avoid huge images and problems with connections and limit rates with dockerhub. + +#### Pre-formatted + +Users can directly download pre-formatted databases from Zenodo: https://doi.org/10.5281/zenodo.7615811 + +Useful for standardization and also overcoming known issues that may arise when formatting databases with `singularity` profile. + +#### I want to generate a new formatted database + +To download and format a copy of required bacannot databases users can execute the following: -To get a copy of required bacannot databases users must: ```bash # Download pipeline databases nextflow run fmalmeida/bacannot --get_dbs --output bacannot_dbs -profile @@ -143,7 +152,7 @@ bacannot_dbs └── victors_db ``` -To update databases you can either download a new one to a new directory. Remove the database you want to get a new one from the root bacannot dir and use the same command above to save in the same directory (the pipeline will only try to download missing databases). Or, you can use the parameter `--force_update` to download everything again. +> To update databases you can either download a new one to a new directory. Remove the database you want to get a new one from the root bacannot dir and use the same command above to save in the same directory (the pipeline will only try to download missing databases). Or, you can use the parameter `--force_update` to download everything again. ## Quickstart diff --git a/docs/quickstart.md b/docs/quickstart.md index 46e72dba..69954a62 100644 --- a/docs/quickstart.md +++ b/docs/quickstart.md @@ -33,6 +33,16 @@ samplesheet: # this header is required ### Bacannot databases +Bacannot databases are not inside the docker images anymore to avoid huge images and problems with connections and limit rates with dockerhub. + +#### Pre-formatted + +Users can directly download pre-formatted databases from Zenodo: https://doi.org/10.5281/zenodo.7615811 + +Useful for standardization and also overcoming known issues that may arise when formatting databases with `singularity` profile. + +#### I want to generate a new formatted database + ```{bash .annotate hl_lines="5"} # Download pipeline databases nextflow run fmalmeida/bacannot \ From 0798f3ce1e10f01ab18fdf8a549e6b5f5262cc29 Mon Sep 17 00:00:00 2001 From: fmalmeida Date: Fri, 5 May 2023 10:16:43 +0200 Subject: [PATCH 02/42] update docs and fix report links --- docs/config.md | 24 +- docs/custom-db.md | 2 +- docs/index.md | 2 +- docs/installation.md | 6 +- docs/outputs.md | 8 +- docs/profiles.md | 4 +- docs/quickstart.md | 2 +- docs/reports/report_MGEs.html | 5176 +++++++++++++++++++++++++++ docs/reports/report_general.html | 5015 ++++++++++++++++++++++++++ docs/reports/report_resistance.html | 5112 ++++++++++++++++++++++++++ docs/reports/report_virulence.html | 5062 ++++++++++++++++++++++++++ 11 files changed, 20397 insertions(+), 16 deletions(-) create mode 100644 docs/reports/report_MGEs.html create mode 100644 docs/reports/report_general.html create mode 100644 docs/reports/report_resistance.html create mode 100644 docs/reports/report_virulence.html diff --git a/docs/config.md b/docs/config.md index aea28c7e..00664232 100644 --- a/docs/config.md +++ b/docs/config.md @@ -68,12 +68,17 @@ params { // By default (if Blank), this process is not executed. For execution the user needs to provide a value bedtools_merge_distance = null + /* + * Bakta optional + */ +// If user set path to an existing bakta database, the pipeline will use bakta instead of prokka + bakta_db = null + /* * Prokka optional parameters */ -// Do not use PGAP (NCBI) database? +// Include comprehensive PGAP hmm database in prokka annotation instead of TIGRFAM. // PGAP is big and using it may have higher running times but better results -// To do not use it, set the following to true prokka_use_pgap = false // Annotation mode: Archaea|Bacteria|Mitochondria|Viruses (default 'Bacteria') @@ -106,8 +111,7 @@ params { * * Which means: false will allow its execution * while true will create a barrier and skip a process. - -*/ + */ // (NOT RUN?) Plasmids annotation (controls PlasmidFinder execution) skip_plasmid_search = false @@ -179,8 +183,18 @@ params { // User's custom database coverage threshold blast_custom_mincov = 65 + /* + * Resources allocation configuration + * Defaults only, expecting to be overwritten + */ +// Select versions of bioconda quay.io additional tools +// Tools that are not part of the core of the pipeline, +// but can eventually be used by users + unicycler_version = '0.4.8--py38h8162308_3' + flye_version = '2.9--py39h39abbe0_0' + bakta_version = '1.6.1--pyhdfd78af_0' + // Max resource options -// Defaults only, expecting to be overwritten max_memory = '20.GB' max_cpus = 16 max_time = '40.h' diff --git a/docs/custom-db.md b/docs/custom-db.md index 490b6baf..cd580978 100644 --- a/docs/custom-db.md +++ b/docs/custom-db.md @@ -6,7 +6,7 @@ Although simple, the files must follow some formatting rules in order to make it ## Files in FASTA (`--custom_db`) -Sequence headers must follow a 5-field rule separated by "~~~" and spaces. The first 4 fields must be separated by "~~~" and the last one by one space, as exemplified below: +Sequence headers must follow a 5-field rule separated by "\~\~\~" and spaces. The first 4 fields must be separated by "\~\~\~" and the last one by one space, as exemplified below: ```bash # Sequence header diff --git a/docs/index.md b/docs/index.md index 036adba5..2854ee3b 100644 --- a/docs/index.md +++ b/docs/index.md @@ -23,7 +23,7 @@ The pipeline's main steps are: | :------------- | :------------------------- | | Genome assembly (if raw reads are given) | [Flye](https://github.com/fenderglass/Flye) and [Unicycler](https://github.com/rrwick/Unicycler) | | Identification of closest 10 NCBI Refseq genomes | [RefSeq Masher](https://github.com/phac-nml/refseq_masher) | -| Generic annotation and gene prediction | [Prokka](https://github.com/tseemann/prokka) | +| Generic annotation and gene prediction | [Prokka](https://github.com/tseemann/prokka) or [Bakta](https://github.com/oschwengers/bakta) | | rRNA prediction | [barrnap](https://github.com/tseemann/barrnap) | | Classification within multi-locus sequence types (STs) | [mlst](https://github.com/tseemann/mlst) | | KEGG KO annotation and visualization | [KofamScan](https://github.com/takaram/kofam_scan) and [KEGGDecoder](https://github.com/bjtully/BioData/tree/master/KEGGDecoder) | diff --git a/docs/installation.md b/docs/installation.md index 5fd627ef..fce8e38f 100644 --- a/docs/installation.md +++ b/docs/installation.md @@ -19,7 +19,7 @@ nextflow pull fmalmeida/bacannot ## Downloading docker images -The docker images used by the pipeline are: +The custom docker images used by the pipeline are: ```bash docker pull fmalmeida/bacannot:v3.2_misc ; @@ -29,9 +29,11 @@ docker pull fmalmeida/bacannot:v3.2_renv ; docker pull fmalmeida/bacannot:jbrowse ; ``` +> The pipeline also uses other public images available in biocontainers. All images can be downloaded on the fly, automatically be nextflow. + !!! info "Using singularity" - Docker and singularity images are downloaded on the fly. Be sure to properly set `NXF_SINGULARITY_LIBRARYDIR` env variable to a writable directory if using Singularity. This will make that the downloaded images are resuable through different executions. Read more at: https://www.nextflow.io/docs/latest/singularity.html#singularity-docker-hub + **Docker and singularity images are downloaded on the fly**. Be sure to properly set `NXF_SINGULARITY_LIBRARYDIR` env variable to a writable directory if using Singularity. This will make that the downloaded images are reusable through different executions. Read more at: https://www.nextflow.io/docs/latest/singularity.html#singularity-docker-hub For example, to download the images for docker you may: diff --git a/docs/outputs.md b/docs/outputs.md index 1f8fe8d3..92ffc09e 100644 --- a/docs/outputs.md +++ b/docs/outputs.md @@ -59,10 +59,10 @@ Using both [KofamScan](https://github.com/takaram/kofam_scan) and [KEGGDecoder]( Bacannot will use [R Markdown](https://rmarkdown.rstudio.com/) to produce automatic annotation reports. To date, the available reports are: -* [Report of general annotation features](https://fmalmeida.github.io/reports/report_general.html) -* [Report of Antimicrobial resistance (AMR) genes annotation](https://fmalmeida.github.io/reports/report_resistance.html) -* [Report of virulence genes annotation](https://fmalmeida.github.io/reports/report_virulence.html) -* [Report of mobile genetic elements annotation](https://fmalmeida.github.io/reports/report_MGEs.html) +* [Report of general annotation features](./reports/report_general.html) +* [Report of Antimicrobial resistance (AMR) genes annotation](./reports/report_resistance.html) +* [Report of virulence genes annotation](./reports/report_virulence.html) +* [Report of mobile genetic elements annotation](./reports/report_MGEs.html) * Including plasmids, prophages, ICEs and genomic islands. * Report of user's custom db annotations. * The quickstart does not produce an example, however, the report is similar to the ICEberg section in the MGE example report. diff --git a/docs/profiles.md b/docs/profiles.md index 409dc5ea..951c9f70 100644 --- a/docs/profiles.md +++ b/docs/profiles.md @@ -11,7 +11,7 @@ Note that some form of configuration will be needed so that Nextflow knows how t The pipeline have "standard profiles" set to run the workflows with either **docker** or **singularity** using the [local executor](https://www.nextflow.io/docs/latest/executor.html), which is nextflow's default executor and basically runs the pipeline processes in the computer where Nextflow is launched. -If you need to run the pipeline using another executor such as sge, lsf, slurm, etc. you can take a look at [nextflow's manual page](https://www.nextflow.io/docs/latest/executor.html) to proper configure one in a new custom profile set in your personal copy of [MpGAP config file](https://github.com/fmalmeida/phylogram/blob/master/nextflow.config) and take advantage that nextflow allows multiple profiles to be used at once, e.g. `-profile docker,sge`. +If you need to run the pipeline using another executor such as sge, lsf, slurm, etc. you can take a look at [nextflow's manual page](https://www.nextflow.io/docs/latest/executor.html) to proper configure one in a new custom profile set in your personal copy of [MpGAP config file](https://github.com/fmalmeida/bacannot/blob/master/nextflow.config) and take advantage that nextflow allows multiple profiles to be used at once, e.g. `-profile docker,sge`. !!! note @@ -27,5 +27,5 @@ If you are using `singularity` and are persistently observing issues downloading ```bash # run -nextflow run fmalmeida/phylogram -profile singularity [OPTIONS] +nextflow run fmalmeida/bacannot -profile singularity [OPTIONS] ``` \ No newline at end of file diff --git a/docs/quickstart.md b/docs/quickstart.md index 69954a62..3f68c7f0 100644 --- a/docs/quickstart.md +++ b/docs/quickstart.md @@ -53,7 +53,7 @@ nextflow run fmalmeida/bacannot \ !!! important "About profiles" - Users **must** select one of the available profiles: docker or singularity. Conda may come in near future. Please read more about how to [proper select NF profiles](profiles.md#) + Users **must** select one of the available profiles: docker or singularity. Conda may come in future. Please read more about how to [proper select NF profiles](profiles.md#) ## Run the pipeline diff --git a/docs/reports/report_MGEs.html b/docs/reports/report_MGEs.html new file mode 100644 index 00000000..c85ef8f1 --- /dev/null +++ b/docs/reports/report_MGEs.html @@ -0,0 +1,5176 @@ + + + + + + + + + + + + + + + +Annotation of mobile genetic elements + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + +
+

ecoli report of mobile genetic elements (MGEs)

+
+

About

+

Mobile genetic elements (MGEs) are a type of genetic material that can move around within a genome, or that can be transferred from one species or replicon to another. Newly acquired genes through this mechanism can increase fitness by gaining new or additional functions. On the other hand, MGEs can also decrease fitness by introducing disease-causing alleles or mutations. For instance, prophages are bacteriophages that have been inserted and integrated into the bacterial chromosome or plasmid. It is the latent form of a phage. ICEs (integrative and conjugative elements), on the other hand, are integrative mobile genetic elements that encode a conjugation machinery. They can confer selective advantages and can also encode resistance determinants and virulence factors.

+

In this context, this pipeline is capable of automatically annotating some mobile genetic elements using public available resources such as:

+
    +
  1. PHAST database; +
      +
    • PHAST (PHAge Search Tool) is a web server designed to rapidly and accurately identify, annotate and graphically display prophage sequences within bacterial genomes or plasmids.
    • +
    • Although it does not have a command line interface it has a protein database of prophage genes that were added to this pipeline and are scanned via BLASTp
    • +
  2. +
  3. Phigaro; +
      +
    • Phigaro is a standalone command-line application that is able to detect prophage regions taking raw genome and metagenome assemblies as an input.
    • +
    • It also produces dynamic annotated “prophage genome maps” and marks possible transposon insertion spots inside prophages.
    • +
  4. +
  5. PhiSpy; +
      +
    • PhiSpy identifies prophages in Bacterial (and probably Archaeal) genomes. Given an annotated genome it will use several approaches to identify the most likely prophage regions.
    • +
  6. +
  7. ICEberg database; +
      +
    • ICEberg 2.0 is an updated database of bacterial integrative and conjugative elements.
    • +
  8. +
  9. Plasmidfinder; +
      +
    • Plasmidfinder is a tool for the in silico detection of plasmids.
    • +
  10. +
  11. Platon; +
      +
    • Platon detects plasmid contigs within bacterial draft genomes from WGS short-read assemblies.
    • +
    • Therefore, Platon analyzes the natural distribution biases of certain protein coding genes between chromosomes and plasmids.
    • +
  12. +
  13. IslandPath. +
      +
    • IslandPath-DIMOB is a standalone software to predict genomic islands in bacterial and archaeal genomes based on the presence of dinucleotide biases and mobility genes.
    • +
  14. +
  15. digIS. +
      +
    • digIS is a command-line tool for detection of insertion sequences (IS) in prokaryotic genomes.
    • +
  16. +
+
+

Prediction thresholds

+

All the predictions were passed through a user defined threshold for minimum coverage and identity:

+
    +
  • Min. Identity (%): > 85
  • +
  • Min. Coverage (%): > 85
  • +
+
+

PHAST is a protein database scanned via BLASTp; ICEberg is a protein and nucleotide database that contains the full-length sequences of known ICEs and also contains the sequences of a multitude of proteins commonly found inside these ICEs. Full-length ICEs are blasted to the genome via BLASTn while the protein sequences are blasted tto the predicted genes via BLASTp; Plasmidfinder is a nucleotide database scanned via BLASTn. The other software have its own metrics.

+
+
+
+
+

Genomic Islands prediction

+

Genomic Islands (GIs) were predicted with islandPath. The predicted genomic islands are integrated into the JBrowse genome viewer so that users can interactively interrogate the results and check the genes found inside these islands. The resulting genome browser are provided in the jbrowse directory inside the query main output directory. This genome browser can be opened with the http-server command or the JBrowse Desktop software.

+

Additionally, these genomic islands were parsed in a very generic manner in order to provide a simple visualization of the annotation in these regions. The plots were rendered with the python package gff-toolbox and are available at the directory: genomic_islands/plots in the main query output directory. An example of these plots is shown in Figure 1.

+
+Examplification of the visualization of genomic islands regions with the gff-toolbox package. +

+Figure 1: Examplification of the visualization of genomic islands regions with the gff-toolbox package. +

+
+
+

As discussed, these images were rendered in a very generic manner just to show some visualization possibilities to the user. If desired, users can check the gff-toolbox package to produce more customized plots.

+
+
+
+

Plasmid detection

+
+

Plasmidfinder

+

Plasmidfinder is a tool for the in silico detection of plasmids. Its results are summarized in Table 1

+
    +
  • The complete results can be found in the directory plasmids/plasmidfinder under the main output directory.
  • +
+ +Table 1: In silico detection of plasmids with Plasmidfinder + +
+ +
+
+

Platon

+

Platon detects plasmid contigs within bacterial draft genomes from WGS short-read assemblies. Therefore, Platon analyzes the natural distribution biases of certain protein coding genes between chromosomes and plasmids. This analysis is complemented by comprehensive contig characterizations upon which several heuristics are applied. Its results are summarized in Table 2.

+
    +
  • The complete results can be found in the directory plasmids/platon under the main output directory.
  • +
+ +Table 2: In silico detection of plasmids with Platon + +
+ +
+
+
+

Prophage detection

+
+

All the prophage sequences and genes are available in the genome browser provided, it is worthy taking notes of prophage’s genomic regions for a better exploration when using it. The genome browser was automatically created (stored in a dir called jbrowse) and can be visualized with JBROWSE desktop ot http-server.

+
+
+

Phigaro

+

Phigaro is a standalone command-line application that is able to detect prophage regions taking raw genome and metagenome assemblies as an input. It also produces dynamic annotated “prophage genome maps” and marks possible transposon insertion spots inside prophages. Its results can be nicely visualized in its own html report file stored in its output directory. The genomic regions predicted as putative prophage sequences are also summarized in Table 3.

+
    +
  • Check it out at: +
      +
    • Dir: prophages/phigaro in the main output directory
    • +
    • HTML: _ANNOTATION/prophages/phigaro/ecoli_phigaro.html
    • +
  • +
+
+ +Table 3: Putative prophage sequences annotated with phigaro software + +
+ +
+
+

PhiSpy

+

PhiSpy is a standalone tool that identifies prophages in Bacterial (and probably Archaeal) genomes. Given an annotated genome it will use several approaches to identify the most likely prophage regions. The genomic regions predicted as putative prophage sequences are also summarized in Table 4.

+
    +
  • Check the results at prophages/phispy in the main output directory
  • +
+
+
+ +Table 4: Putative prophage sequences annotated with phispy software + +
+ +
+
+
+

PHAST database

+

All prophage genes from PHAST database that had good alignments to the genes of the query genome are summarized in Table 5. The protein sequences of these genes were aligned against the gene sequences predicted by Prokka via BLASTp. They are all available in the genome browser provided. A good way to interrogate this annotation is to visualize the putative prophage regions predicted by phigaro and phispy interpolating it with the prophage gene annotation provided with phast database.

+
+

Unfortunately, PHASTER database have no searchable interface to visualize its prophages. Therefore, this table has no links to external sources.

+
+ +Table 5: Prophage genes annotated using PHAST database via BLASTp + +
+ +
+
+
+

ICEs detection

+
+

ICEberg database

+
+
+

Analysis of full-length ICEs

+

Full-length ICEs are available at ICEberg database in nucleotide fastas while the proteins found inside these ICEs are in protein fastas. Since the ICEfinder script has no licenses to be incorporated to the pipeline, we try to search for the full-length ICEs. However, they are very difficult to be completely found in new genomes, thus they are scanned without coverage or identity thresholds. The filtering and selection of these is up to you. We have found a total of 35 alignments in the query genome, check it out in table 6.

+

Users are advised to also use the ICEfinder tool to predict the putative genomic position of known ICEs since we are not allowed to include this step under this pipeline.

+
+ +Table 6: Alignment of full-length ICEs to the query genome via BLASTn + +
+ +
+
+

Analysis of ICE’s proteins

+

All query genes predicted by Prokka that have a match in ICEberg database are shown in Table 7. It is summarized the ICE id and all its genes that were found in the query genome. All of them are linked to the database for further investigations.

+
+

Take note: The fact that the genome possess some proteins from ICEs does not necessarily means that the ICE is present in the genome. Please, check the number of proteins that the ICE of origin posses in the ICEberg database list of ICEs, and then make inferences based one the alignments you see.

+
+

Users are advised to also use the ICEfinder tool to predict the putative genomic position of known ICEs since we are not allowed to include this step under this pipeline.

+
+ +Table 7: ICE genes annotated from ICEberg database via BLASTp + +
+ +
+The number of genes from known ICEs (from [ICEberg](https://bioinfo-mml.sjtu.edu.cn/ICEberg2/index.php)) found in the query genome +

+Figure 2: The number of genes from known ICEs (from ICEberg) found in the query genome +

+
+
+
+
+

IS detection

+

Insertions sequences have been predicted with digIS. The digIS search pipeline operates in the following steps:

+
    +
  1. The whole input nucleic acid sequence is translated into amino acid sequences (all six frames).
  2. +
  3. The translated sequences are searched using manually curated pHMMs.
  4. +
  5. The seeds are filtered by domain e-value, and those that overlap or follow each other within a certain distance are merged.
  6. +
  7. The seeds are extended according to sequence similarity with known IS elements in the ISFinder database.
  8. +
  9. Extended seeds are filtered by noise cutoff score and length, and duplicated hits, corresponding to the same IS element, are removed.
  10. +
  11. Remaining hits are classified based on sequence similarity and GenBank annotation (if available) to help assess their quality.
  12. +
  13. Finally, the classified outputs are reported in the CSV and GFF3 format.
  14. +
+
+

The program is executed with the GenBank annotation

+
+
+ +Table 6: Insertions sequences predicted by digIS in GFF format. + +
+ +
+
+ + + + +
+ + + + + + + + + + + + + + + + diff --git a/docs/reports/report_general.html b/docs/reports/report_general.html new file mode 100644 index 00000000..911d15e7 --- /dev/null +++ b/docs/reports/report_general.html @@ -0,0 +1,5015 @@ + + + + + + + + + + + + + + + +Generic annotation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + +
+

ecoli general annotation report

+
+

About

+

This report was built to summarise in a report the results of the most generic annotation contents, which are: Prokka, Barrnap, mlst, KofamScan and refseq_masher. If you’d like to see any other result included in this report please flag an enhancement issue on Github.

+
+
+

RefSeq Masher

+

RefSeq Masher is a tool that enables to rapidly find what NCBI RefSeq genomes match or are contained within your sequence data using Mash MinHash with a Mash sketch database of NCBI RefSeq Genomes. The results are shown below (bacannot outputs only the top 10).

+
+ +
+
+

MLST

+

Bacannot uses the mlst package to scan the PubMLST schemes available in order to classify the genome under public multilocus sequence type schemes. The results for ecoli are shown below.

+
+ +
+
+

Prokka

+

Prokka is generic prokaryotic genome annotation tool that produces standards-compliant output files.

+
+

In bacannot, when using prokka, the prokka database is incremented with either TIGRFAM hmm hosted at NCBI or with the extensive PGAP hmm database hosted at NCBI with the parameter --prokka_use_pgap is used.

+
+
+ +
+
+

Barrnap

+

Barrnap is a fast Ribosomal RNA predictor for bacterias, from the same developer of Prokka. It is fast and produces a GFF of the predicted rRNAs (See below).

+
+ +
+
+

KEGG KOs

+

KEGG KOs are annotated with KofamScan, which is a gene function annotation tool based on KEGG Orthology and hidden Markov model. You need KOfam database to use this tool. Online version is available on https://www.genome.jp/tools/kofamkoala/.

+After annotation, the results are plotted with KEGGDecoder (See below). +
+KEGGDecoder heatmap of KofamScan annotation results. +

+Figure 1: KEGGDecoder heatmap of KofamScan annotation results. +

+
+
+
+ + + + +
+ + + + + + + + + + + + + + + + diff --git a/docs/reports/report_resistance.html b/docs/reports/report_resistance.html new file mode 100644 index 00000000..073b7637 --- /dev/null +++ b/docs/reports/report_resistance.html @@ -0,0 +1,5112 @@ + + + + + + + + + + + + + + + +Annotation of amr determinants + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + +
+

ecoli ARGs report

+
+

About

+

Antimicrobial resistance genes (ARGs) are genes that encode resistance determinants capable of conferring to the bacteria the ability to tolerate or resist some antibiotics or antimicrobials, making bacteria less susceptible to its effects. In this pipeline, ARGs have been predicted/detected with four main AMR resources:

+
    +
  1. Resfinder +
      +
    • Resfinder is a very popular database of acquired resistance genes and chromosomal point mutations hosted by the Center for Genomic Epidemiology.
    • +
  2. +
  3. AMRFinderPlus +
      +
    • AMRFinder is a software distributed by NCBI that allows users to query the National Database of Antibiotic Resistant Organisms (NDARO).
    • +
    • NDARO is a NCBI curated database that aggregates resistance genes from other databases such as Resfams, CARD, Resfinder, Pasteur Institute Beta Lactamases and others.
    • +
    • For more information please read the following link. NCBI’s efforts were done in order to standardize and confer reliability to AMR predictions.
    • +
  4. +
  5. CARD RGI +
      +
    • RGI is a software distributed by the CARD database which enables the detection of new variants and mutations that confer resistance to antibiotics, analyzing genomes or proteome sequences under three paradigms: Perfect, Strict, and Loose (a.k.a. Discovery).
    • +
    • The Perfect algorithm is most often applied to clinical surveillance as it detects perfect matches to the curated reference sequences and mutations in the CARD database.
    • +
    • In contrast, the Strict algorithm detects previously unknown variants of known AMR genes, including secondary screen for key mutations, using detection models with CARD’s curated similarity cut-offs to ensure the detected variant is likely a functional AMR gene.
    • +
  6. +
  7. ARGminer +
      +
    • RGminer database is an online resource for the inspection and curation of ARGs based on crowdsourcing as well as a platform to promote interaction and collaboration for the ARG scientific community. It is used in this pipeline in order to diversify the insights about the resistance genes found. It can not be used as the sole source of prediction, but it may be a useful contribution for analyses and AMR descriptions because it tries to aggregate and create nomenclature standards between databases.
    • +
  8. +
+
+

Prediction thresholds

+

All the predictions were passed through a user defined threshold for minimum coverage and identity:

+
    +
  • Min. Identity (%): > 90
  • +
  • Min. Coverage (%): > 90
  • +
+
+

CARD RGI have their own detection models thresholds obtained by curation. Therefore, the only result from CARD that have been filtered like that is their final tabular output (shown in this report).

+
+
+

The results used to create this report are under the directory called resistance in the output folder of the query ecoli.

+
+
+
+
+

Resfinder

+

No AMR gene was annotated either because Resfinder has not been executed (based on user’s input parameters) or the given alignment thresholds were too strict. If you believe that at least one gene should be present in the query genome you may try different thresholds.

+
+
+

CARD RGI

+

The results obtained with RGI tool are summarized in the heatmap produced by the tool itself (Figure 1). Additionally, the annotation results are also shown in an interactive table displaying the tool’s complete annotation information (Table 1). They can be roughly divided into two main categories:

+
    +
  1. Perfect hits +
      +
    • detects perfect matches to the curated reference sequences and mutations in the CARD
    • +
  2. +
  3. Strict hits +
      +
    • detects previously unknown variants of known AMR genes, including secondary screen for key mutations, using detection models with CARD’s curated similarity cut-offs to ensure the detected variant is likely a functional AMR gene
    • +
  4. +
+
+

Obs: CARD RGI tool always tries to annotate functional AMR genes, however, depending on the assembly, a not functional gene may yet be annotated. Therefore, users are advised to double check genes annotated under Strict category.

+
+


+ +Table 1: RGI annotation results. The perfect hits are highlighted in yellow while the strict hits in light blue. + +
+ +


+
+RGI's phenotype prediction. AMR genes are listed in alphabetical order and unique resistome profiles are displayed with their frequency. Yellow represents a perfect hit, Blue-green represents a strict hit. +

+Figure 1: RGI’s phenotype prediction. AMR genes are listed in alphabetical order and unique resistome profiles are displayed with their frequency. Yellow represents a perfect hit, Blue-green represents a strict hit. +

+
+
+
+

AMRFinder

+

The AMRFinderPlus annotation results are summarized below in an interactive table containing the complete annotation information (Table 2) and an image displaying the targeted drug classes (Figure 2). Whenever possible, features are linked to the NCBI database marking the closest reference sequence to each annotated gene. The results obtained with AMRFinderPlus can be roughly divided into two main categories:

+
    +
  1. Genes related to antibiotics, called AMR;
  2. +
  3. Genes related to stress resistance which can be: +
      +
    • biocide resistance
    • +
    • metal resistance
    • +
    • heat resistance
    • +
  4. +
+
+

Acquired ARGs detected

+
    +
  • AMR genes found in the query genome: +
      +
    • emrD
    • +
    • blaEC
    • +
    • mdtM
    • +
  • +
+
+
+

Supporting Data

+ +Table 2: Resistance genes annotated from NCBI AMR curated database using AMRfinderplus + +
+ +
+Resistome Predicted using NCBI's AMRFinderplus +

+Figure 2: Resistome Predicted using NCBI’s AMRFinderplus +

+
+
+
+
+

ARGminer

+

ARGminer is an online resource for the inspection and curation of ARGs based on crowdsourcing as well as a platform to promote interaction and collaboration for the ARG scientific community. We put this database here in the report and annotation in order to support the initative and to help it go towards nomenclature simplification. Genes are scanned via BLASTp since ARGminer is a protein database. This alignment is summarized in table 3.

+
+

It must be used with caution. Remember, it is a super new database thus it is rapidly changing and may yet contain errors.

+
+
+

BLAST summary

+ +Table 3: Resistance genes detected using ARGminer database via BLASTp + +
+ +
+
+
+

Prokka

+

Additionally, Prokka generically annotates a few proteins that are related to any type of resistance. These are showed in Table 4.

+
+

When using Prokka, one must take caution when evaluating this result because this annotation can be very generic and therefore not so meaningful. Because it only uses hmms, sometimes the annotation of genes can be based on a single detected motif thus its results must be checked whether they are correctly annotated and/or functional.

+
+ +Table 4: Generic annotation of resistance determinants by Prokka + +
+ +
+
+ + + + +
+ + + + + + + + + + + + + + + + diff --git a/docs/reports/report_virulence.html b/docs/reports/report_virulence.html new file mode 100644 index 00000000..05b9a600 --- /dev/null +++ b/docs/reports/report_virulence.html @@ -0,0 +1,5062 @@ + + + + + + + + + + + + + + + +Annotation of virulence factors + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + +
+

ecoli virulence report

+
+

About

+

Virulence factors are molecules produced by bacteria that add effectiveness in their colonization ability of a niche, immunoevasion, immunosuppression and nutrition obtention from the host. In order to detect these molecules in the query genome its gene sequences were aligned against two databases:

+
    +
  1. VFDB; +
      +
    • VFDB is a comprehensive resource, created in 2004, of curated information about virulence factors of pathogenic bacteria. To date, it contains a 1080 virulence factors in its database, from >74 bacteria genera.
    • +
    • In this pipeline the VFDB nucleotide core dataset (A) was used for alignment.
    • +
  2. +
  3. Victors. +
      +
    • Victors is a curated database which currently possesses 5296 virulence factors for 194 different pathogens including bacteria, viruses and parasites and is focused in proteins related to interactions pathogen-host.
    • +
    • Victors is a protein database, thus scanned with BLASTp.
    • +
  4. +
+
+

Prediction thresholds

+

All the predictions were passed through a user defined threshold for minimum coverage and identity:

+
    +
  • Min. Identity (%): > 90
  • +
  • Min. Coverage (%): > 90
  • +
+
+

The results used to create this report are under the directory called virulence in the output folder of the query ecoli.

+
+
+
+
+

VFDB

+

All virulence factors (from VFDB) that were found to have at least one gene in the query genome are summarized below. All of them are linked to the database for further investigations. A more detailed information about the virulence annotation with VFDB is given in Table 1. Additionally, Figure 1 summarizes the amount of annotated genes of each virulence factor. Information are always linked to the database to make investigations easier.

+
+

The results are showed as: VFDB virulence factor name (VFDB virulence factor ID).

+
+ +
+

Detailed information

+ +Table 1: Virulence factors annotated using the VFDB database via BLASTn + +
+ +
+
+
+

Victors

+

All query genes predicted by Prokka that have a match in Victors database are described in Table 2. In order to make further investigations easier, all genes are linked to its matches in Victors database.

+
+

Victors database is protein-only thus genes are scanned via blastp. Victors is a new database and focused in proteins that are important in the interaction pathogen-host, thus it may contain some less known genes.

+
+ +Table 2: Virulence factors annotated using the Victors database via BLASTp + +
+ +
+
+ + + + +
+ + + + + + + + + + + + + + + + From dd9c4f2a375da9392c9fce38f382eb3305185141 Mon Sep 17 00:00:00 2001 From: Felipe Marques de Almeida Date: Thu, 20 Jul 2023 12:28:52 +0000 Subject: [PATCH 03/42] update unicycler version (0.5.0--py310h6cc9453_3) --- conf/defaults.config | 2 +- markdown/CHANGELOG.md | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/conf/defaults.config b/conf/defaults.config index 63da85be..e68f37b8 100644 --- a/conf/defaults.config +++ b/conf/defaults.config @@ -176,7 +176,7 @@ params { // Select versions of bioconda quay.io additional tools // Tools that are not part of the core of the pipeline, // but can eventually be used by users - unicycler_version = '0.4.8--py38h8162308_3' + unicycler_version = '0.5.0--py310h6cc9453_3' flye_version = '2.9--py39h6935b12_1' bakta_version = '1.7.0--pyhdfd78af_1' diff --git a/markdown/CHANGELOG.md b/markdown/CHANGELOG.md index fcd33376..f82a9b3b 100644 --- a/markdown/CHANGELOG.md +++ b/markdown/CHANGELOG.md @@ -8,6 +8,7 @@ The tracking for changes started in v2.1 * [#69](https://github.com/fmalmeida/bacannot/issues/69) -- Change how tools use docker images in order to: * make tools use public bioconda images whenever possible to allow easy addition of tools and avoid much conflicts in docker images * dimish the size and tools inside the docker images, the docker images now are only built to contain tools and all required for modules that cannot just use bioconda docker images. +* Update unicycler docker image to latest '0.5.0--py310h6cc9453_3' to avoid errors originated from previous image containing buggy installation. ## v3.2 [19-December-2022] * Fixes https://github.com/fmalmeida/bacannot/issues/68 reported by @lam-c From 1ed4a8e4c4a268b7c35130dad4b10ab0139c7582 Mon Sep 17 00:00:00 2001 From: Felipe Marques de Almeida Date: Wed, 26 Jul 2023 07:14:17 -0400 Subject: [PATCH 04/42] 96 error summary for bugfix release (#101) Update falmeida-py version --- conf/defaults.config | 2 +- docker/misc/Dockerfile | 2 +- nextflow_schema.json | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/conf/defaults.config b/conf/defaults.config index e68f37b8..56baa751 100644 --- a/conf/defaults.config +++ b/conf/defaults.config @@ -185,4 +185,4 @@ params { max_cpus = 16 max_time = '40.h' -} \ No newline at end of file +} diff --git a/docker/misc/Dockerfile b/docker/misc/Dockerfile index 7e718db0..2237ee0a 100644 --- a/docker/misc/Dockerfile +++ b/docker/misc/Dockerfile @@ -21,7 +21,7 @@ RUN mamba install -y \ seqkit \ bioawk \ 'easy_circos>=0.3' \ - 'falmeida-py>=1.2' \ + 'falmeida-py>=1.2.2' \ 'conda-forge::openssl>=1.1.1' \ emboss \ libtiff \ diff --git a/nextflow_schema.json b/nextflow_schema.json index ede2129b..a3866ce9 100644 --- a/nextflow_schema.json +++ b/nextflow_schema.json @@ -342,7 +342,7 @@ "unicycler_version": { "type": "string", "description": "Select quay.io image tag for tool", - "default": "0.4.8--py38h8162308_3" + "default": "0.5.0--py310h6cc9453_3" }, "flye_version": { "type": "string", From 60922dbe20e49bb518bad6de1e70cd412b2302bd Mon Sep 17 00:00:00 2001 From: Felipe Marques de Almeida Date: Thu, 27 Jul 2023 06:40:45 -0400 Subject: [PATCH 05/42] include information of newly known issues (#103) --- README.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 551b7cdf..aa3fe83f 100644 --- a/README.md +++ b/README.md @@ -226,7 +226,11 @@ It will result in the following: 2. The JBrowse wrapper in the shiny server is not capable of displaying the GC content and methylation plots when available. It can only display the simpler tracks. If the user wants to visualise and interrogate the GC or methylation tracks it must open the JBrowse outside from the shiny server. For that, two options are available: * You can navigate to the `jbrowse` directory under your sample's output folder and simply execute `http-server`. This command can be found at: https://www.npmjs.com/package/http-server * Or, you can download the [JBrowse Desktop app](https://jbrowse.org/docs/jbrowse_desktop.html) and, from inside the app, select the folder `jbrowse/data` that is available in your sample's output directory. -3. If you face some weird error using v3.1, please, before opening a flag, try updating your docker image, we had some inconsistencies lately and this may be the source of the issue. +3. If you face some weird error using v3.1 or v3.2, please, before opening a ticket, try updating your docker images, we had some inconsistencies lately and this may be the source of the issue. +4. If facing an issue with the `BACANNOT:SUMMARY` module, identical or similar to the one reported in issue [[#96]](https://github.com/fmalmeida/bacannot/issues/96), please, before opening a ticket, try updating the python env docker image: `docker pull fmalmeida/bacannot:v3.2_pyenv`. The image has been recently updated to have the latest version of my python scripts, and that may solve the issue. If not, please open another. +5. Sometimes, the `BACANNOT:UNICYCLER` may fail with different, random issues, that does not seem correct, or seem really very random. For example, saying that a read is not available, even though it is there. After some tracing, we realised that the unicycler 0.4.8 installation from conda, and the biocontainer form quay.io is causing this random problem. To solve this issue, please run with a newer version of the tool. This solves the issue in most cases: `--unicycler_version 0.5.0--py310h6cc9453_3`. + * Because `v3.2` is already tagged and frozen with Zenodo, we will not update it, thus, for this version, using the parameter to overwrite the tool version should be used. + * In `v3.3`, unicycler version will be defaulted to `0.5.0--py310h6cc9453_3` ## Citation From 9dc44c5458729f2b7c7706dd1315b3948f730908 Mon Sep 17 00:00:00 2001 From: Felipe Marques de Almeida Date: Mon, 18 Sep 2023 22:58:08 +0200 Subject: [PATCH 06/42] 98 include ices and prophage annotation in json summary (#106) * Try Dockerfile fix * Update Dockerfile * Update Dockerfile * Update CHANGELOG.md --- docker/misc/Dockerfile | 35 +++++++++++++++++++++-------------- markdown/CHANGELOG.md | 4 +++- 2 files changed, 24 insertions(+), 15 deletions(-) diff --git a/docker/misc/Dockerfile b/docker/misc/Dockerfile index 2237ee0a..a74c03c1 100644 --- a/docker/misc/Dockerfile +++ b/docker/misc/Dockerfile @@ -3,15 +3,15 @@ LABEL authors="Felipe Almeida" \ description="Docker image containing any-based bacannot tools" # install mamba -RUN conda update -n root conda --yes && \ - conda update -n base conda --yes && \ - conda install -c conda-forge -y 'mamba>=1.4' +RUN conda install -n base -c conda-forge 'mamba=1.5' --yes && \ + conda clean -afy +RUN pip install --upgrade pip # Install the conda environment RUN mamba install -y \ -c bioconda -c defaults -c conda-forge -c anaconda -c falmeida \ --no-channel-priority \ - 'conda-forge::python>=3.7' \ + 'python=3.9' \ 'blast>=2.12' \ 'diamond>=2.0.15' \ 'bedtools>=2.30' \ @@ -20,21 +20,26 @@ RUN mamba install -y \ 'biopython==1.78' \ seqkit \ bioawk \ - 'easy_circos>=0.3' \ - 'falmeida-py>=1.2.2' \ - 'conda-forge::openssl>=1.1.1' \ + 'easy_circos==0.4' \ + 'conda-forge::openssl>=1.1' \ + 'pyproj=3.2' \ emboss \ libtiff \ jq && \ mamba clean -afy +RUN git clone https://github.com/fmalmeida/pythonScripts.git && \ + cd pythonScripts && \ + pip install . && \ + falmeida-py --help # Install samtools RUN apt-get update -y && apt-get install -y samtools # Install gff-toolbox -RUN git clone https://github.com/fmalmeida/gff-toolbox.git && \ - cd gff-toolbox && \ - python setup.py install && \ +RUN git clone https://github.com/fmalmeida/gff-toolbox.git +RUN cd gff-toolbox && \ + python3 -m pip install --upgrade pip 'matplotlib==3.7.3' && \ + python3 setup.py install && \ gff-toolbox -h # Create env for digIS @@ -75,14 +80,16 @@ COPY custom_fix_grange_digis.py /work/digIS/src/common/grange.py ENV PATH=/work/digIS:$PATH # Create env for antismash -RUN conda create -y -n antismash -c bioconda -c conda-forge \ - 'antismash>=6' 'anaconda::jinja2' 'anaconda::markupsafe' nomkl && \ +RUN mamba create -y -n antismash -c bioconda -c conda-forge \ + 'bioconda::antismash-lite>=6' 'anaconda::flask' 'anaconda::jinja2' 'anaconda::markupsafe' nomkl && \ rm -rf /opt/conda/envs/antismash/lib/*/site-packages/antismash/databases && \ mamba clean -afy # fix bioperl -RUN mamba create -n perl -y -c bioconda -c conda-forge perl-bioperl perl-app-cpanminus perl-yaml -RUN conda run -n perl PERL5LIB= PERL_LOCAL_LIB_ROOT= cpanm Bio::Root::RootI +RUN mamba create -n perl -y \ + -c bioconda -c conda-forge -c anaconda -c defaults \ + perl-bioperl perl-app-cpanminus perl-yaml +RUN mamba run -n perl PERL5LIB= PERL_LOCAL_LIB_ROOT= cpanm Bio::Root::RootI # fix python RUN python3 -m pip install cryptography==38.0.4 diff --git a/markdown/CHANGELOG.md b/markdown/CHANGELOG.md index f82a9b3b..22ee193d 100644 --- a/markdown/CHANGELOG.md +++ b/markdown/CHANGELOG.md @@ -5,10 +5,12 @@ The tracking for changes started in v2.1 ## v3.3 [TBD] * [[#50](https://github.com/fmalmeida/bacannot/issues/50)] -- Add `Integron Finder` tool to the pipeline -* [#69](https://github.com/fmalmeida/bacannot/issues/69) -- Change how tools use docker images in order to: +* [[#69](https://github.com/fmalmeida/bacannot/issues/69)] -- Change how tools use docker images in order to: * make tools use public bioconda images whenever possible to allow easy addition of tools and avoid much conflicts in docker images * dimish the size and tools inside the docker images, the docker images now are only built to contain tools and all required for modules that cannot just use bioconda docker images. +* [[#98](https://github.com/fmalmeida/bacannot/issues/98)] -- Add ICEberg and PHAST blastp results to json summary * Update unicycler docker image to latest '0.5.0--py310h6cc9453_3' to avoid errors originated from previous image containing buggy installation. + ## v3.2 [19-December-2022] * Fixes https://github.com/fmalmeida/bacannot/issues/68 reported by @lam-c From 78d0f4fce5819207d049828274309d3854d06ded Mon Sep 17 00:00:00 2001 From: Felipe Marques de Almeida Date: Mon, 25 Sep 2023 15:46:54 -0400 Subject: [PATCH 07/42] 100 update pipeline docker images from docker tags to docker shasum (#108) * fix singularity run options * fix misc dockerfile * update renv docker image environment * update docker images to use shasum * Update CHANGELOG.md --- conf/docker.config | 8 ++++---- conf/singularity.config | 10 +++++----- docker/misc/Dockerfile | 4 ++-- docker/renv/Dockerfile | 4 ++-- markdown/CHANGELOG.md | 1 + 5 files changed, 14 insertions(+), 13 deletions(-) diff --git a/conf/docker.config b/conf/docker.config index 562b2158..28ffa1ab 100644 --- a/conf/docker.config +++ b/conf/docker.config @@ -18,21 +18,21 @@ process { // Custom pipeline's containers with various tools for general purposes // withLabel: 'db_download|db_tools|misc' { - container = 'fmalmeida/bacannot:v3.3_misc' + container = 'fmalmeida/bacannot@sha256:726e085f1bd71b47c2d8a38fd46d812aab7eb8978bab7bf3cde3aa2b7b3e0f2c' } // container for R tools withLabel: 'renv' { - container = 'fmalmeida/bacannot:v3.3_renv' + container = 'fmalmeida/bacannot@sha256:952f58a2c03e50f8a376073346fb1ccda28d6249e3fdfea07a3286a6ff1adf0c' } // container for bacannot server withLabel: 'server' { - container = 'fmalmeida/bacannot:server' + container = 'fmalmeida/bacannot@sha256:0ec3b289d6e0c624556d125b2ed9b63499178e266a315175fd87cf020a402898' } withLabel: 'jbrowse' { - container = 'fmalmeida/bacannot:jbrowse' + container = 'fmalmeida/bacannot@sha256:6afdca17b561bf212c1f976422aee3fe047563c32a15112a6262556d1f75201e' } // diff --git a/conf/singularity.config b/conf/singularity.config index 35707df6..f75a7559 100644 --- a/conf/singularity.config +++ b/conf/singularity.config @@ -1,7 +1,7 @@ // Container usage and permission docker.enabled = false singularity.enabled = true -// singularity.runOptions = '--writable-tmpfs -B $PWD' +singularity.runOptions = '--writable-tmpfs -e --no-home -B $PWD' singularity.autoMounts = true env.SINGULARITY_DISABLE_CACHE = 1 @@ -18,21 +18,21 @@ process { // Custom pipeline's containers with various tools for general purposes // withLabel: 'db_download|db_tools|misc' { - container = 'docker://fmalmeida/bacannot:v3.3_misc' + container = 'docker://fmalmeida/bacannot@sha256:726e085f1bd71b47c2d8a38fd46d812aab7eb8978bab7bf3cde3aa2b7b3e0f2c' } // container for R tools withLabel: 'renv' { - container = 'docker://fmalmeida/bacannot:v3.3_renv' + container = 'docker://fmalmeida/bacannot@sha256:952f58a2c03e50f8a376073346fb1ccda28d6249e3fdfea07a3286a6ff1adf0c' } // container for bacannot server withLabel: 'server' { - container = 'docker://fmalmeida/bacannot:server' + container = 'docker://fmalmeida/bacannot@sha256:0ec3b289d6e0c624556d125b2ed9b63499178e266a315175fd87cf020a402898' } withLabel: 'jbrowse' { - container = 'docker://fmalmeida/bacannot:jbrowse' + container = 'docker://fmalmeida/bacannot@sha256:6afdca17b561bf212c1f976422aee3fe047563c32a15112a6262556d1f75201e' } // diff --git a/docker/misc/Dockerfile b/docker/misc/Dockerfile index a74c03c1..3e7c3422 100644 --- a/docker/misc/Dockerfile +++ b/docker/misc/Dockerfile @@ -81,7 +81,7 @@ ENV PATH=/work/digIS:$PATH # Create env for antismash RUN mamba create -y -n antismash -c bioconda -c conda-forge \ - 'bioconda::antismash-lite>=6' 'anaconda::flask' 'anaconda::jinja2' 'anaconda::markupsafe' nomkl && \ + 'bioconda::antismash>=6' 'anaconda::flask' 'anaconda::jinja2' 'anaconda::markupsafe' nomkl && \ rm -rf /opt/conda/envs/antismash/lib/*/site-packages/antismash/databases && \ mamba clean -afy @@ -99,5 +99,5 @@ RUN pip3 install zenodo_get # fix permissions RUN chmod 777 -R /work -RUN chmod 777 -R /opt/conda/envs/antismash/lib/*/site-packages/antismash +RUN chmod 777 -R /opt/conda/envs/antismash/lib/**/site-packages/antismash RUN chmod 777 -R /opt/conda/envs/resfinder \ No newline at end of file diff --git a/docker/renv/Dockerfile b/docker/renv/Dockerfile index e28066a8..5641c0b1 100644 --- a/docker/renv/Dockerfile +++ b/docker/renv/Dockerfile @@ -1,4 +1,4 @@ -FROM ubuntu:20.04 +FROM ubuntu:22.04 LABEL MAINTAINER Felipe Marques de Almeida @@ -13,7 +13,7 @@ RUN apt-get update && \ ## Install R RUN DEBIAN_FRONTEND=noninteractive apt-get install -y tzdata && \ - DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y r-base r-base-core r-api-3.5 + DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y r-base r-base-core ## Install R-packages RUN DEBIAN_FRONTEND=noninteractive apt-get update && \ diff --git a/markdown/CHANGELOG.md b/markdown/CHANGELOG.md index 22ee193d..5e90fde1 100644 --- a/markdown/CHANGELOG.md +++ b/markdown/CHANGELOG.md @@ -9,6 +9,7 @@ The tracking for changes started in v2.1 * make tools use public bioconda images whenever possible to allow easy addition of tools and avoid much conflicts in docker images * dimish the size and tools inside the docker images, the docker images now are only built to contain tools and all required for modules that cannot just use bioconda docker images. * [[#98](https://github.com/fmalmeida/bacannot/issues/98)] -- Add ICEberg and PHAST blastp results to json summary +* [[#100](https://github.com/fmalmeida/bacannot/issues/100)] -- Update pipeline to use docker shasum instead of tags * Update unicycler docker image to latest '0.5.0--py310h6cc9453_3' to avoid errors originated from previous image containing buggy installation. ## v3.2 [19-December-2022] From e36f991423c82c393567c2b2365260812b0f9150 Mon Sep 17 00:00:00 2001 From: Felipe Marques de Almeida Date: Tue, 26 Sep 2023 10:44:19 -0400 Subject: [PATCH 08/42] 107 duplicate reads to unique read names (#109) * Add pre-formatted database (#83) * add pre-formatted database info * add information about pre-formatted database * update docs and fix report links * include information of newly known issues (#103) * add parameter to enable deduplication of reads * Update manual.md --- README.md | 6 ++++- conf/defaults.config | 3 +++ docs/manual.md | 1 + modules/assembly/flye.nf | 9 ++++++- modules/assembly/unicycler.nf | 47 ++++++++++++++++++++++++++++++++--- nextflow_schema.json | 4 +++ 6 files changed, 65 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 36625099..dc41e2fe 100644 --- a/README.md +++ b/README.md @@ -242,7 +242,11 @@ It will result in the following: 2. The JBrowse wrapper in the shiny server is not capable of displaying the GC content and methylation plots when available. It can only display the simpler tracks. If the user wants to visualise and interrogate the GC or methylation tracks it must open the JBrowse outside from the shiny server. For that, two options are available: * You can navigate to the `jbrowse` directory under your sample's output folder and simply execute `http-server`. This command can be found at: https://www.npmjs.com/package/http-server * Or, you can download the [JBrowse Desktop app](https://jbrowse.org/docs/jbrowse_desktop.html) and, from inside the app, select the folder `jbrowse/data` that is available in your sample's output directory. -3. If you face some weird error using v3.1, please, before opening a flag, try updating your docker image, we had some inconsistencies lately and this may be the source of the issue. +3. If you face some weird error using v3.1 or v3.2, please, before opening a ticket, try updating your docker images, we had some inconsistencies lately and this may be the source of the issue. +4. If facing an issue with the `BACANNOT:SUMMARY` module, identical or similar to the one reported in issue [[#96]](https://github.com/fmalmeida/bacannot/issues/96), please, before opening a ticket, try updating the python env docker image: `docker pull fmalmeida/bacannot:v3.2_pyenv`. The image has been recently updated to have the latest version of my python scripts, and that may solve the issue. If not, please open another. +5. Sometimes, the `BACANNOT:UNICYCLER` may fail with different, random issues, that does not seem correct, or seem really very random. For example, saying that a read is not available, even though it is there. After some tracing, we realised that the unicycler 0.4.8 installation from conda, and the biocontainer form quay.io is causing this random problem. To solve this issue, please run with a newer version of the tool. This solves the issue in most cases: `--unicycler_version 0.5.0--py310h6cc9453_3`. + * Because `v3.2` is already tagged and frozen with Zenodo, we will not update it, thus, for this version, using the parameter to overwrite the tool version should be used. + * In `v3.3`, unicycler version will be defaulted to `0.5.0--py310h6cc9453_3` ## Citation diff --git a/conf/defaults.config b/conf/defaults.config index 56baa751..0d43fe48 100644 --- a/conf/defaults.config +++ b/conf/defaults.config @@ -32,6 +32,9 @@ params { // It is also documented in the main manual: https://bacannot.readthedocs.io/en/latest/samplesheet input = null +// Enable reads deduplication for assembly? (If input has reads) + enable_deduplication = false + // path to directory containing databases used by bacannot // you can download databases with: // nextflow run fmalmeida/bacannot --get_dbs --output bacannot_dbs -profile diff --git a/docs/manual.md b/docs/manual.md index 95cb1b35..2a51d52e 100644 --- a/docs/manual.md +++ b/docs/manual.md @@ -32,6 +32,7 @@ The pipeline accepts as input two other input files types that are used to perfo |
Parameter
| Required | Default | Description | | :--------------------------------------- | :------- | :------ | :---------- | | `--input` | :material-check: | NA | Input samplesheet describing all the samples to be analysed | +| `--enable_deduplication` | :material-close: | false | Run deduplication command on input reads before assembly | | `--output` | :material-check: | results | Name of directory to store output values. A sub-directory for each genome will be created inside this main directory. | | `--bacannot_db` | :material-check: | NA | Path for root directory containing required bacannot databases | diff --git a/modules/assembly/flye.nf b/modules/assembly/flye.nf index 5bbc4668..d588d01e 100644 --- a/modules/assembly/flye.nf +++ b/modules/assembly/flye.nf @@ -18,14 +18,21 @@ process FLYE { script: lr = (lr_type == 'nanopore') ? '--nano-raw' : '--pacbio-raw' + dedup_lr = params.enable_deduplication ? + "gunzip -cf $lreads | awk '{if(NR%4==1) \$0=sprintf(\"@1_%d\",(1+i++)); print;}' | gzip -c > ${prefix}_deduplicated_reads.fastq.gz" : + "ln -s $lreads ${prefix}_deduplicated_reads.fastq.gz" + """ # Save flye version flye -v > flye_version.txt ; + # remove duplicate reads + $dedup_lr + # Run flye flye \\ ${lr} \\ - $lreads \\ + ${prefix}_deduplicated_reads.fastq.gz \\ --out-dir flye_${prefix} \\ --threads $task.cpus &> flye.log ; diff --git a/modules/assembly/unicycler.nf b/modules/assembly/unicycler.nf index 032a3957..145f1c1f 100644 --- a/modules/assembly/unicycler.nf +++ b/modules/assembly/unicycler.nf @@ -17,14 +17,55 @@ process UNICYCLER { path('unicycler_version.txt'), emit: version script: - unpaired_param = (sreads.getName() != "input.3") ? "-s $sreads" : "" - paired_param = (sread1.getName() != "input.1" && sread2.getName() != "input.2") ? "-1 $sread1 -2 $sread2" : "" - lr_param = (lreads.getName() != "input.4") ? "-l $lreads" : "" + unpaired_param = "" + dedup_sreads = "" + paired_param = "" + dedup_paired = "" + lr_param = "" + dedup_lr = "" + + // sreads + if (sreads.getName() != "input.3") { + + dedup_sreads = params.enable_deduplication ? + "gunzip -cf $sreads | awk '{if(NR%4==1) \$0=sprintf(\"@1_%d\",(1+i++)); print;}' | gzip -c > ${prefix}_deduplicated_sreads.fastq.gz" : + "ln -s $sreads ${prefix}_deduplicated_sreads.fastq.gz" + + unpaired_param = "-s ${prefix}_deduplicated_sreads.fastq.gz" + + } + + // paired + if (sread1.getName() != "input.1" && sread2.getName() != "input.2") { + + dedup_paired = params.enable_deduplication ? + "gunzip -cf $sread1 | awk '{if(NR%4==1) \$0=sprintf(\"@1_%d\",(1+i++)); print;}' | gzip -c > ${prefix}_deduplicated_sread_R1.fastq.gz && gunzip -cf $sread2 | awk '{if(NR%4==1) \$0=sprintf(\"@1_%d\",(1+i++)); print;}' | gzip -c > ${prefix}_deduplicated_sread_R2.fastq.gz" : + "ln -s $sread1 ${prefix}_deduplicated_sread_R1.fastq.gz && ln -s $sread2 ${prefix}_deduplicated_sread_R2.fastq.gz" + + paired_param = "-1 ${prefix}_deduplicated_sread_R1.fastq.gz -2 ${prefix}_deduplicated_sread_R2.fastq.gz" + + } + + // lreads + if (lreads.getName() != "input.4") { + + dedup_lr = params.enable_deduplication ? + "gunzip -cf $lreads | awk '{if(NR%4==1) \$0=sprintf(\"@1_%d\",(1+i++)); print;}' | gzip -c > ${prefix}_deduplicated_lreads.fastq.gz" : + "ln -s $lreads ${prefix}_deduplicated_lreads.fastq.gz" + + lr_param = "-l $lreads" + + } """ # Save unicycler version unicycler --version > unicycler_version.txt + # remove duplicate reads + $dedup_sreads + $dedup_paired + $dedup_lr + # Run unicycler unicycler \\ $paired_param \\ diff --git a/nextflow_schema.json b/nextflow_schema.json index a3866ce9..54730b74 100644 --- a/nextflow_schema.json +++ b/nextflow_schema.json @@ -34,6 +34,10 @@ "type": "string", "description": "Path to input samplesheet" }, + "enable_deduplication": { + "type": "boolean", + "description": "Execute deduplication on reads before assembly." + }, "output": { "type": "string", "description": "Path for output directory", From 04bb226052397989fe759ba8ce2aced3ca0231e8 Mon Sep 17 00:00:00 2001 From: fmalmeida Date: Tue, 26 Sep 2023 16:47:10 +0200 Subject: [PATCH 09/42] update changelog --- markdown/CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/markdown/CHANGELOG.md b/markdown/CHANGELOG.md index 5e90fde1..51207410 100644 --- a/markdown/CHANGELOG.md +++ b/markdown/CHANGELOG.md @@ -10,6 +10,7 @@ The tracking for changes started in v2.1 * dimish the size and tools inside the docker images, the docker images now are only built to contain tools and all required for modules that cannot just use bioconda docker images. * [[#98](https://github.com/fmalmeida/bacannot/issues/98)] -- Add ICEberg and PHAST blastp results to json summary * [[#100](https://github.com/fmalmeida/bacannot/issues/100)] -- Update pipeline to use docker shasum instead of tags +* [[#107](https://github.com/fmalmeida/bacannot/issues/107)] -- Add a parameter, `--enable_deduplication` for deduplicating input reads before assembly * Update unicycler docker image to latest '0.5.0--py310h6cc9453_3' to avoid errors originated from previous image containing buggy installation. ## v3.2 [19-December-2022] From 520fd3fa0c58cee5bb274d8b7a5413b23cdb7218 Mon Sep 17 00:00:00 2001 From: Felipe Marques de Almeida Date: Sun, 1 Oct 2023 06:01:52 -0400 Subject: [PATCH 10/42] Update docs for v3.3 (#110) * update cli help * Update installation.md * add indentation * Update README.md * Update README.md * fix tracedir * always show from copy * Update quickstart.md * Update manual.md --- README.md | 60 +------------ docs/config.md | 188 +---------------------------------------- docs/defaults.config | 191 ++++++++++++++++++++++++++++++++++++++++++ docs/installation.md | 59 +++++++++++-- docs/manual.md | 5 +- docs/quickstart.md | 2 +- docs/requirements.txt | 3 +- mkdocs.yml | 2 + nextflow.config | 9 +- nextflow_schema.json | 16 ++-- 10 files changed, 263 insertions(+), 272 deletions(-) create mode 100644 docs/defaults.config diff --git a/README.md b/README.md index dc41e2fe..f464b049 100644 --- a/README.md +++ b/README.md @@ -87,16 +87,7 @@ These images have been kept separate to not create massive Docker image and to a ## Installation -1. If you don't have it already install [Docker](https://docs.docker.com/) in your computer. - * After installed, you need to download the required Docker images - - ```bash - docker pull fmalmeida/bacannot:v3.3_misc ; - docker pull fmalmeida/bacannot:v3.3_renv ; - docker pull fmalmeida/bacannot:jbrowse ; - ``` - -🔥 Nextflow can also automatically handle images download on the fly when executed. All the other docker images from **biocontainers** are downloaded automatically. If docker has exceeded its download limit rates, please try again in a few hours. +1. If you don't have it already install either [Docker](https://docs.docker.com/) or [Singularity](https://docs.sylabs.io/guides/3.5/user-guide/index.html) in your computer. 2. Install Nextflow (version 20.10 or higher): @@ -110,54 +101,7 @@ These images have been kept separate to not create massive Docker image and to a 🔥 Users can get let the pipeline always updated with: `nextflow pull fmalmeida/bacannot` -### Downloading and updating databases - -Bacannot databases are not inside the docker images anymore to avoid huge images and problems with connections and limit rates with dockerhub. - -#### Pre-formatted - -Users can directly download pre-formatted databases from Zenodo: https://doi.org/10.5281/zenodo.7615811 - -Useful for standardization and also overcoming known issues that may arise when formatting databases with `singularity` profile. - -A module to download the latest pre-formatted database has also been made available: -```bash -# Download pipeline pre-built databases -nextflow run fmalmeida/bacannot --get_zenodo_db --output ./ -profile -``` - -#### I want to generate a new formatted database - -To download and format a copy of required bacannot databases users can execute the following: - -```bash -# Download pipeline databases -nextflow run fmalmeida/bacannot --get_dbs --output bacannot_dbs -profile -``` - -This will produce a directory like this: - -```bash -bacannot_dbs -├── amrfinder_db -├── antismash_db -├── argminer_db -├── card_db -├── iceberg_db -├── kofamscan_db -├── mlst_db -├── phast_db -├── phigaro_db -├── pipeline_info -├── plasmidfinder_db -├── platon_db -├── prokka_db -├── resfinder_db -├── vfdb_db -└── victors_db -``` - -> To update databases you can either download a new one to a new directory. Remove the database you want to get a new one from the root bacannot dir and use the same command above to save in the same directory (the pipeline will only try to download missing databases). Or, you can use the parameter `--force_update` to download everything again. +Please refer to the installation page, for a complete guide on required images and databases. » ## Quickstart diff --git a/docs/config.md b/docs/config.md index 9962abef..9aebaa19 100644 --- a/docs/config.md +++ b/docs/config.md @@ -13,191 +13,5 @@ Default configuration --------------------- ```groovy -/* - - Required / Default Parameters. - This parameters must always be set - -*/ -params { - - /* - - DB DOWNLOAD WORKFLOW - - */ - -// Trigger database download and formatting workflow? --> will not run annotation -// Will download and format a database inside {output} parameter - get_dbs = false - force_update = false - - /* - - ANNOTATION INPUTS - - */ - -// Input data mus be given inside a well-formated samplesheet. -// We provide a well-formated example at: https://github.com/fmalmeida/test_datasets/raw/main/bacannot_testing_samplesheets/samplesheet.yaml -// -// Please read the example samplesheet so you can understand how to properly fill it. -// -// It is also documented in the main manual: https://bacannot.readthedocs.io/en/latest/samplesheet - input = null - -// path to directory containing databases used by bacannot -// you can download databases with: -// nextflow run fmalmeida/bacannot --get_dbs --output bacannot_dbs -profile - bacannot_db = null - - /* - - GENERAL PARAMETERS - - */ - -// Main output folder name. More than one bacannot annotation can be redirected -// to the same output parameter. It is good to keep related annotations together. -// A subdirectory with the filename will be created inside this directory. - output = 'results' - -// Number of minimum overlapping base pairs required for merging -// Negative values, such as -20, means the number of required overlapping bases for merging. -// Positive values, such as 5, means the maximum distance accepted between features for merging. -// By default (if Blank), this process is not executed. For execution the user needs to provide a value - bedtools_merge_distance = null - - /* - * Bakta optional - */ -// If user set path to an existing bakta database, the pipeline will use bakta instead of prokka - bakta_db = null - - /* - * Prokka optional parameters - */ -// Include comprehensive PGAP hmm database in prokka annotation instead of TIGRFAM. -// PGAP is big and using it may have higher running times but better results - prokka_use_pgap = false - -// Annotation mode: Archaea|Bacteria|Mitochondria|Viruses (default 'Bacteria') - prokka_kingdom = null - -// Translation table code. Must be set if the above is set. -// Example: params.prokka_genetic.code = 11 - prokka_genetic_code = null - -// Use rnammer instead of Barrnap? False or True? - prokka_use_rnammer = false - - /* - * Resfinder species panel - */ - -// Species panel to be used when annotating with Resfinder. -// It sets a default for all samples in the samplesheet. -// If a sample has a different value inside the samplesheet it will overwrite the value for that sample -// If blank it will not be executed. -// It must be identical (without the *) as written in their webservice https://cge.cbs.dtu.dk/services/ResFinder/. -// E.g. 'Escherichia coli'; 'Klebsiella' ... - resfinder_species = null - - /* - * Handling the execution of processes - * - * By default, all processes are executed. These - * parameters tells wheter NOT to run a process. - * - * Which means: false will allow its execution - * while true will create a barrier and skip a process. - */ -// (NOT RUN?) Plasmids annotation (controls PlasmidFinder execution) - skip_plasmid_search = false - -// (NOT RUN?) General Virulence annotation (controls VFDB and Victors scan) - skip_virulence_search = false - -// (NOT RUN?) Resistance annotation (controls AMRfinder and RGI) - skip_resistance_search = false - -// (NOT RUN?) ICE annotation (controls ICEberg annotation) - skip_iceberg_search = false - -// (NOT RUN?) prophage annotation (controls PHAST and Phigaro) - skip_prophage_search = false - -// (NOT RUN?) KO (KEGG Orthology) annotation - skip_kofamscan = false - -// (NOT RUN?) antiSMASH (secondary metabolite) annotation - skip_antismash = false - - /* - * Custom databases can be used to annotate additional genes in the genome. - * It runs a BLAST alignment against the genome, therefore, the custom database - * More than one custom database can be given separated by commas. - * Gene headers must be properly formated as described in the - * documentation: https://bacannot.readthedocs.io/en/latest/custom-db - */ -// Custom fastas (PROT / NUCL) - custom_db = null -// Custom annotation using list of NCBI protein accs - ncbi_proteins = null - - /* - * Annotation thresholds to be used when scanning specific databases and features - * Select a combination of thresholds that is meaningful for your data. Some of - * the databases are protein-only, others are nucleotide only. We cannnot control - * that and the databases will be scanned either if blastp or blastn using these - * thresholds described here. - */ - -// Identity threshold for plasmid annotation - plasmids_minid = 90 - -// Coverage threshold for plasmid annotation - plasmids_mincov = 60 - -// Virulence genes identity threshold - blast_virulence_minid = 90 - -// Virulence genes coverage threshold - blast_virulence_mincov = 90 - -// AMR genes identity threshold - blast_resistance_minid= 90 - -// AMR genes coverage threshold - blast_resistance_mincov = 90 - -// MGEs (ICEs and Phages) identity threshold - blast_MGEs_minid = 85 - -// MGEs (ICEs and Phages) coverage threshold - blast_MGEs_mincov = 85 - -// User's custom database identity threshold - blast_custom_minid = 65 - -// User's custom database coverage threshold - blast_custom_mincov = 65 - - /* - * Resources allocation configuration - * Defaults only, expecting to be overwritten - */ -// Select versions of bioconda quay.io additional tools -// Tools that are not part of the core of the pipeline, -// but can eventually be used by users - unicycler_version = '0.4.8--py38h8162308_3' - flye_version = '2.9--py39h39abbe0_0' - bakta_version = '1.7.0--pyhdfd78af_1' - -// Max resource options - max_memory = '20.GB' - max_cpus = 16 - max_time = '40.h' - -} +{% include 'defaults.config' %} ``` \ No newline at end of file diff --git a/docs/defaults.config b/docs/defaults.config new file mode 100644 index 00000000..0d43fe48 --- /dev/null +++ b/docs/defaults.config @@ -0,0 +1,191 @@ +/* + + Required / Default Parameters. + This parameters must always be set + +*/ +params { + + /* + + DB DOWNLOAD WORKFLOW + + */ + +// Trigger database download and formatting workflow? --> will not run annotation +// Will download and format a database inside {output} parameter + get_dbs = false + force_update = false + get_zenodo_db = false // download pre-built database + + /* + + ANNOTATION INPUTS + + */ + +// Input data mus be given inside a well-formated samplesheet. +// We provide a well-formated example at: https://github.com/fmalmeida/test_datasets/raw/main/bacannot_testing_samplesheets/samplesheet.yaml +// +// Please read the example samplesheet so you can understand how to properly fill it. +// +// It is also documented in the main manual: https://bacannot.readthedocs.io/en/latest/samplesheet + input = null + +// Enable reads deduplication for assembly? (If input has reads) + enable_deduplication = false + +// path to directory containing databases used by bacannot +// you can download databases with: +// nextflow run fmalmeida/bacannot --get_dbs --output bacannot_dbs -profile + bacannot_db = null + + /* + + GENERAL PARAMETERS + + */ + +// Main output folder name. More than one bacannot annotation can be redirected +// to the same output parameter. It is good to keep related annotations together. +// A subdirectory with the filename will be created inside this directory. + output = 'results' + +// Number of minimum overlapping base pairs required for merging +// Negative values, such as -20, means the number of required overlapping bases for merging. +// Positive values, such as 5, means the maximum distance accepted between features for merging. +// By default (if Blank), this process is not executed. For execution the user needs to provide a value + bedtools_merge_distance = null + + /* + * Bakta optional + */ +// If user set path to an existing bakta database, the pipeline will use bakta instead of prokka + bakta_db = null + + /* + * Prokka optional parameters + */ +// Include comprehensive PGAP hmm database in prokka annotation instead of TIGRFAM. +// PGAP is big and using it may have higher running times but better results + prokka_use_pgap = false + +// Annotation mode: Archaea|Bacteria|Mitochondria|Viruses (default 'Bacteria') + prokka_kingdom = null + +// Translation table code. Must be set if the above is set. +// Example: params.prokka_genetic.code = 11 + prokka_genetic_code = null + +// Use rnammer instead of Barrnap? False or True? + prokka_use_rnammer = false + + /* + * Resfinder species panel + */ + +// Species panel to be used when annotating with Resfinder. +// It sets a default for all samples in the samplesheet. +// If a sample has a different value inside the samplesheet it will overwrite the value for that sample +// If blank it will not be executed. +// It must be identical (without the *) as written in their webservice https://cge.cbs.dtu.dk/services/ResFinder/. +// E.g. 'Escherichia coli'; 'Klebsiella' ... + resfinder_species = null + + /* + * Handling the execution of processes + * + * By default, all processes are executed. These + * parameters tells wheter NOT to run a process. + * + * Which means: false will allow its execution + * while true will create a barrier and skip a process. + */ +// (NOT RUN?) Plasmids annotation (controls PlasmidFinder execution) + skip_plasmid_search = false + +// (NOT RUN?) General Virulence annotation (controls VFDB and Victors scan) + skip_virulence_search = false + +// (NOT RUN?) Resistance annotation (controls AMRfinder and RGI) + skip_resistance_search = false + +// (NOT RUN?) ICE annotation (controls ICEberg annotation) + skip_iceberg_search = false + +// (NOT RUN?) prophage annotation (controls PHAST and Phigaro) + skip_prophage_search = false + +// (NOT RUN?) KO (KEGG Orthology) annotation + skip_kofamscan = false + +// (NOT RUN?) antiSMASH (secondary metabolite) annotation + skip_antismash = false + + /* + * Custom databases can be used to annotate additional genes in the genome. + * It runs a BLAST alignment against the genome, therefore, the custom database + * More than one custom database can be given separated by commas. + * Gene headers must be properly formated as described in the + * documentation: https://bacannot.readthedocs.io/en/latest/custom-db + */ +// Custom fastas (PROT / NUCL) + custom_db = null +// Custom annotation using list of NCBI protein accs + ncbi_proteins = null + + /* + * Annotation thresholds to be used when scanning specific databases and features + * Select a combination of thresholds that is meaningful for your data. Some of + * the databases are protein-only, others are nucleotide only. We cannnot control + * that and the databases will be scanned either if blastp or blastn using these + * thresholds described here. + */ + +// Identity threshold for plasmid annotation + plasmids_minid = 90 + +// Coverage threshold for plasmid annotation + plasmids_mincov = 60 + +// Virulence genes identity threshold + blast_virulence_minid = 90 + +// Virulence genes coverage threshold + blast_virulence_mincov = 90 + +// AMR genes identity threshold + blast_resistance_minid= 90 + +// AMR genes coverage threshold + blast_resistance_mincov = 90 + +// MGEs (ICEs and Phages) identity threshold + blast_MGEs_minid = 85 + +// MGEs (ICEs and Phages) coverage threshold + blast_MGEs_mincov = 85 + +// User's custom database identity threshold + blast_custom_minid = 65 + +// User's custom database coverage threshold + blast_custom_mincov = 65 + + /* + * Resources allocation configuration + * Defaults only, expecting to be overwritten + */ +// Select versions of bioconda quay.io additional tools +// Tools that are not part of the core of the pipeline, +// but can eventually be used by users + unicycler_version = '0.5.0--py310h6cc9453_3' + flye_version = '2.9--py39h6935b12_1' + bakta_version = '1.7.0--pyhdfd78af_1' + +// Max resource options + max_memory = '20.GB' + max_cpus = 16 + max_time = '40.h' + +} diff --git a/docs/installation.md b/docs/installation.md index 5056467d..8035ba43 100644 --- a/docs/installation.md +++ b/docs/installation.md @@ -19,17 +19,30 @@ nextflow pull fmalmeida/bacannot ## Downloading docker images -The custom docker images used by the pipeline are: +> The pipeline uses both custom and public images. +> All images can be downloaded on the fly, automatically by nextflow, and this is the recommended way to do it. + +If you want to download it yourself, you can find all the images used in the pipeline described in the file [docker.config](https://github.com/fmalmeida/bacannot/blob/master/conf/docker.config) (for docker) and [singularity.config](https://github.com/fmalmeida/bacannot/blob/master/conf/singularity.config) (for singularity). + +The images are defined like the following: ```bash -docker pull fmalmeida/bacannot:v3.3_misc ; -docker pull fmalmeida/bacannot:v3.3_renv ; -docker pull fmalmeida/bacannot:jbrowse ; +... +withLabel: 'db_download|db_tools|misc' { + container = 'fmalmeida/bacannot@sha256:726e085f1bd71b47c2d8a38fd46d812aab7eb8978bab7bf3cde3aa2b7b3e0f2c' +} +... ``` -> The pipeline also uses other public images available in biocontainers. All images can be downloaded on the fly, automatically be nextflow. +And could be downloaded like this: + +```bash +docker pull fmalmeida/bacannot@sha256:726e085f1bd71b47c2d8a38fd46d812aab7eb8978bab7bf3cde3aa2b7b3e0f2c +``` -!!! info "Using singularity" +> You would need to do it for each image. + +!!! info "If using singularity" **Docker and singularity images are downloaded on the fly**. Be sure to properly set `NXF_SINGULARITY_LIBRARYDIR` env variable to a writable directory if using Singularity. This will make that the downloaded images are reusable through different executions. Read more at: https://www.nextflow.io/docs/latest/singularity.html#singularity-docker-hub @@ -42,14 +55,44 @@ docker pull fmalmeida/bacannot:jbrowse ; singularity pull --dir $NXF_SINGULARITY_LIBRARYDIR fmalmeida-bacannot-v3.3_misc.img docker://fmalmeida/bacannot:v3.3_misc ``` +## Bacannot databases + +Bacannot databases are not inside the docker images anymore to avoid huge images and problems with connections and limit rates with dockerhub. + +### Pre-formatted + +Users can directly download pre-formatted databases from Zenodo: https://doi.org/10.5281/zenodo.7615811 + +Useful for standardization and also overcoming known issues that may arise when formatting databases with `singularity` profile. + +A module to download the latest pre-formatted database has also been made available: + +```bash +# Download pipeline pre-built databases +nextflow run fmalmeida/bacannot \ + --get_zenodo_db \ + --output ./ \ + -profile +``` + +### I want to generate a new formatted database + +```{bash .annotate hl_lines="5"} +# Download pipeline databases +nextflow run fmalmeida/bacannot \ + --get_dbs \ + --output bacannot_dbs \ + -profile +``` + ## Testing your installation After that, you can run the pipeline with a testing dataset by selecting one of the available profiles: 1. Docker - * `nextflow run fmalmeida/mpgap -profile docker,test` + * `nextflow run fmalmeida/mpgap -profile docker,test` --bacannot_db ./bacannot_dbs 2. Singularity - * `nextflow run fmalmeida/mpgap -profile singularity,test` + * `nextflow run fmalmeida/mpgap -profile singularity,test` --bacannot_db ./bacannot_dbs !!! note "About NF profiles" diff --git a/docs/manual.md b/docs/manual.md index 2a51d52e..e42c1227 100644 --- a/docs/manual.md +++ b/docs/manual.md @@ -29,10 +29,10 @@ The pipeline accepts as input two other input files types that are used to perfo ## Input/output options -|
Parameter
| Required | Default | Description | +|
Parameter
| Required | Default | Description | | :--------------------------------------- | :------- | :------ | :---------- | | `--input` | :material-check: | NA | Input samplesheet describing all the samples to be analysed | -| `--enable_deduplication` | :material-close: | false | Run deduplication command on input reads before assembly | +| `--enable_deduplication` | :material-close: | false | Run deduplication command on input reads before assembly. Only useful for samples where reads are given instead of a genome fasta. | | `--output` | :material-check: | results | Name of directory to store output values. A sub-directory for each genome will be created inside this main directory. | | `--bacannot_db` | :material-check: | NA | Path for root directory containing required bacannot databases | @@ -46,6 +46,7 @@ The pipeline accepts as input two other input files types that are used to perfo | :--------------------------------------- | :------- | :------ | :---------- | | `--get_dbs` | :material-close: | false | Instead of running the analysis workflow, it will try to download required databases and save them in `--output` | | `--force_update` | :material-close: | false | Instead of only downloading missing databases, download everything again and overwrite. | +| `--get_zenodo_db` | :material-close: | false | Download pre-built databases stored in zenodo. [See quickstart](quickstart.md#). !!! tip "" diff --git a/docs/quickstart.md b/docs/quickstart.md index 5490726f..42b5ee89 100644 --- a/docs/quickstart.md +++ b/docs/quickstart.md @@ -102,4 +102,4 @@ nextflow run fmalmeida/bacannot -profile docker,quicktest --bacannot_db ./bacann ### Annotation with bakta -User can also perform the core generic annotation with bakta instead of prokka. Please read [the manual](manual#bakta-annotation). +User can also perform the core generic annotation with bakta instead of prokka. Please read [the manual](manual.md#bakta-annotation). diff --git a/docs/requirements.txt b/docs/requirements.txt index d5ff7eda..42c51dbf 100644 --- a/docs/requirements.txt +++ b/docs/requirements.txt @@ -14,4 +14,5 @@ mergedeep>=1.3.4 colorama>=0.4; platform_system == 'Windows' mkdocs-pymdownx-material-extras mkdocs-git-revision-date-plugin -mkdocs-material \ No newline at end of file +mkdocs-material +mkdocs-macros-plugin \ No newline at end of file diff --git a/mkdocs.yml b/mkdocs.yml index 58482435..1a5157ba 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -22,6 +22,8 @@ theme: repo: fontawesome/brands/github-alt plugins: - git-revision-date + - search + - macros markdown_extensions: - pymdownx.emoji: emoji_index: !!python/name:materialx.emoji.twemoji diff --git a/nextflow.config b/nextflow.config index 1afb0454..11ead557 100644 --- a/nextflow.config +++ b/nextflow.config @@ -13,7 +13,6 @@ includeConfig 'conf/defaults.config' params { // Boilerplate options - tracedir = "${params.output}/pipeline_info" plaintext_email = false monochrome_logs = false help = false @@ -84,19 +83,19 @@ process.shell = ['/bin/bash', '-euo', 'pipefail'] def trace_timestamp = new java.util.Date().format( 'yyyy-MM-dd_HH-mm-ss') timeline { enabled = true - file = "${params.tracedir}/bacannot_timeline_${trace_timestamp}.html" + file = "${params.output}/pipeline_info/bacannot_timeline_${trace_timestamp}.html" } report { enabled = true - file = "${params.tracedir}/bacannot_report_${trace_timestamp}.html" + file = "${params.output}/pipeline_info/bacannot_report_${trace_timestamp}.html" } trace { enabled = true - file = "${params.tracedir}/bacannot_trace_${trace_timestamp}.txt" + file = "${params.output}/pipeline_info/bacannot_trace_${trace_timestamp}.txt" } dag { enabled = true - file = "${params.tracedir}/bacannot_pipeline_dag_${trace_timestamp}.svg" + file = "${params.output}/pipeline_info/bacannot_pipeline_dag_${trace_timestamp}.svg" } /* diff --git a/nextflow_schema.json b/nextflow_schema.json index 54730b74..e95d3c34 100644 --- a/nextflow_schema.json +++ b/nextflow_schema.json @@ -63,15 +63,18 @@ "properties": { "max_cpus": { "type": "integer", - "default": 16 + "default": 16, + "description": "Maximum number of cpus a single module can use." }, "max_memory": { "type": "string", - "default": "20.GB" + "default": "20.GB", + "description": "Maximum memory a single module can use." }, "max_time": { "type": "string", - "default": "40.h" + "default": "40.h", + "description": "Maximum time a module can run." } } }, @@ -322,13 +325,6 @@ "help_text": "Number of minimum overlapping base pairs required for merging\nNegative values, such as -20, means the number of required overlapping bases for merging.\nPositive values, such as 5, means the maximum distance accepted between features for merging.\nBy default (if Blank), this process is not executed. For execution the user needs to provide a value", "description": "Minimum overlapping base pairs required for merging" }, - "tracedir": { - "type": "string", - "description": "Directory to keep pipeline Nextflow logs and reports.", - "default": "${params.output}/pipeline_info", - "fa_icon": "fas fa-cogs", - "hidden": true - }, "validate_params": { "type": "boolean", "description": "Boolean whether to validate parameters against the schema at runtime", From 93a62ee6387ee04a4cdfb1c40d1980f272cafeeb Mon Sep 17 00:00:00 2001 From: fmalmeida Date: Sun, 1 Oct 2023 12:26:38 +0200 Subject: [PATCH 11/42] update citation information --- README.md | 3 ++- docs/index.md | 3 ++- lib/WorkflowMain.groovy | 2 +- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index f464b049..62f2a1dc 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ -[![Cite with Zenodo](http://img.shields.io/badge/DOI-10.5281/zenodo.3627669-1073c8?labelColor=000000)](https://doi.org/10.5281/zenodo.3627669) +[![F1000 Paper](https://img.shields.io/badge/Citation%20F1000-10.12688/f1000research.139488.1-orange)](https://doi.org/10.12688/f1000research.139488.1) [![GitHub release (latest by date including pre-releases)](https://img.shields.io/github/v/release/fmalmeida/bacannot?include_prereleases&label=Latest%20release)](https://github.com/fmalmeida/bacannot/releases) [![Documentation](https://img.shields.io/badge/Documentation-readthedocs-brightgreen)](https://bacannot.readthedocs.io/en/latest/?badge=latest) [![Nextflow](https://img.shields.io/badge/nextflow%20DSL2-%E2%89%A521.10.3-23aa62.svg?labelColor=000000)](https://www.nextflow.io/) @@ -8,6 +8,7 @@ [![run with singularity](https://img.shields.io/badge/run%20with-singularity-1d355c.svg?labelColor=000000)](https://sylabs.io/docs/) [![License](https://img.shields.io/badge/License-GPL%203-black)](https://github.com/fmalmeida/bacannot/blob/master/LICENSE) [![Follow on Twitter](http://img.shields.io/badge/twitter-%40fmarquesalmeida-1DA1F2?labelColor=000000&logo=twitter)](https://twitter.com/fmarquesalmeida) +[![Zenodo Archive](https://img.shields.io/badge/Zenodo-Archive-blue)](https://doi.org/10.5281/zenodo.3627669) [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/github.com/fmalmeida/bacannot) diff --git a/docs/index.md b/docs/index.md index 3ee7b0df..4cb28ba9 100644 --- a/docs/index.md +++ b/docs/index.md @@ -2,7 +2,7 @@ -[![Cite with Zenodo](http://img.shields.io/badge/DOI-10.5281/zenodo.3627669-1073c8?labelColor=000000)](https://doi.org/10.5281/zenodo.3627669) +[![F1000 Paper](https://img.shields.io/badge/Citation%20F1000-10.12688/f1000research.139488.1-orange)](https://doi.org/10.12688/f1000research.139488.1) [![GitHub release (latest by date including pre-releases)](https://img.shields.io/github/v/release/fmalmeida/bacannot?include_prereleases&label=Latest%20release)](https://github.com/fmalmeida/bacannot/releases) [![Documentation](https://img.shields.io/badge/Documentation-readthedocs-brightgreen)](https://bacannot.readthedocs.io/en/latest/?badge=latest) [![Nextflow](https://img.shields.io/badge/nextflow%20DSL2-%E2%89%A521.10.3-23aa62.svg?labelColor=000000)](https://www.nextflow.io/) @@ -10,6 +10,7 @@ [![run with singularity](https://img.shields.io/badge/run%20with-singularity-1d355c.svg?labelColor=000000)](https://sylabs.io/docs/) [![License](https://img.shields.io/badge/License-GPL%203-black)](https://github.com/fmalmeida/bacannot/blob/master/LICENSE) [![Follow on Twitter](http://img.shields.io/badge/twitter-%40fmarquesalmeida-1DA1F2?labelColor=000000&logo=twitter)](https://twitter.com/fmarquesalmeida) +[![Zenodo Archive](https://img.shields.io/badge/Zenodo-Archive-blue)](https://doi.org/10.5281/zenodo.3627669) ## About diff --git a/lib/WorkflowMain.groovy b/lib/WorkflowMain.groovy index 57d85384..6ccb1c75 100755 --- a/lib/WorkflowMain.groovy +++ b/lib/WorkflowMain.groovy @@ -10,7 +10,7 @@ class WorkflowMain { public static String citation(workflow) { return "If you use ${workflow.manifest.name} for your analysis please cite:\n\n" + "* The pipeline\n" + - " https://doi.org/10.5281/zenodo.3627669\n\n" + + " https://doi.org/10.12688/f1000research.139488.1\n\n" + "* The nf-core framework\n" + " https://doi.org/10.1038/s41587-020-0439-x\n\n" + "* Software dependencies\n" + From ae51e18eb87cf1ea2a44b89d747bd477186ef314 Mon Sep 17 00:00:00 2001 From: fmalmeida Date: Sun, 1 Oct 2023 12:27:49 +0200 Subject: [PATCH 12/42] add citation example --- README.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 62f2a1dc..2eda798d 100644 --- a/README.md +++ b/README.md @@ -195,7 +195,11 @@ It will result in the following: ## Citation -To cite this tool please refer to our [Zenodo tag](https://doi.org/10.5281/zenodo.3627669). +In order to cite this pipeline, please refer to: + +> Almeida FMd, Campos TAd and Pappas Jr GJ. Scalable and versatile container-based pipelines for de novo genome assembly and bacterial annotation. [version 1; peer review: awaiting peer review]. F1000Research 2023, 12:1205 (https://doi.org/10.12688/f1000research.139488.1) + +Additionally, archived versions of the pipeline are also found in [Zenodo](https://doi.org/10.5281/zenodo.3627669). This pipeline uses code and infrastructure developed and maintained by the [nf-core](https://nf-co.re) community, reused here under the [GPLv3](https://github.com/fmalmeida/bacannot/blob/master/LICENSE). From 1c28330c087a37a60f5e2e5f209c453029af8b36 Mon Sep 17 00:00:00 2001 From: fmalmeida Date: Sun, 1 Oct 2023 14:31:17 +0200 Subject: [PATCH 13/42] Update CHANGELOG.md --- markdown/CHANGELOG.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/markdown/CHANGELOG.md b/markdown/CHANGELOG.md index 51207410..c5bbbec5 100644 --- a/markdown/CHANGELOG.md +++ b/markdown/CHANGELOG.md @@ -2,16 +2,19 @@ The tracking for changes started in v2.1 -## v3.3 [TBD] +## v3.3 [01-October-2023] * [[#50](https://github.com/fmalmeida/bacannot/issues/50)] -- Add `Integron Finder` tool to the pipeline * [[#69](https://github.com/fmalmeida/bacannot/issues/69)] -- Change how tools use docker images in order to: * make tools use public bioconda images whenever possible to allow easy addition of tools and avoid much conflicts in docker images * dimish the size and tools inside the docker images, the docker images now are only built to contain tools and all required for modules that cannot just use bioconda docker images. +* [[#81](https://github.com/fmalmeida/bacannot/issues/81)] -- Add `MOB Suite` tool to the pipeline +* [[#85](https://github.com/fmalmeida/bacannot/issues/85)] -- Include checkup on header size for Prokka * [[#98](https://github.com/fmalmeida/bacannot/issues/98)] -- Add ICEberg and PHAST blastp results to json summary * [[#100](https://github.com/fmalmeida/bacannot/issues/100)] -- Update pipeline to use docker shasum instead of tags * [[#107](https://github.com/fmalmeida/bacannot/issues/107)] -- Add a parameter, `--enable_deduplication` for deduplicating input reads before assembly * Update unicycler docker image to latest '0.5.0--py310h6cc9453_3' to avoid errors originated from previous image containing buggy installation. +* Other minor changes / updates highlited in [[#93](https://github.com/fmalmeida/bacannot/pull/93)] ## v3.2 [19-December-2022] From 46fcb59d2a144c73aa195e8bac54770422a407f2 Mon Sep 17 00:00:00 2001 From: Felipe Marques de Almeida Date: Sun, 1 Oct 2023 08:33:29 -0400 Subject: [PATCH 14/42] Wrap-up v3.3 for release (#93) * Add pre-formatted database (#82) * add pre-formatted database info * add information about pre-formatted database * 50 add tool integron finder 20 (#87) * update version * Add pre-formatted database (#83) * add pre-formatted database info * add information about pre-formatted database * update falmeida-py package * change version * change main tools to public containers * use biocontainer * aggregate other non-biocontainer tools and diminish the size of docker images * update module labels * re-arranged docker images * add integron_finder module * update amrfinder version * trying to addintegron finder to gff * update docker * fixed image install * fixed integron finder 2 gff * remove unnecessary grouptuple * fix image and emboss module * fix organization * add docker image to module * fix indentation * fix indentation * added integron finder results to final GFF and JBROWSE * integron finder results added to HTML report * fix docker image * properly added to json summary * update changelog * update readme * update list of tools * update default config in docs * backscape tildes * update installation docs * fix indentation * update outputs docs * fix wrong pipeline name * fix typo * update quickstart * fixed mlst execution in singularity * fix indentation * 85 prokka module can get after modules stuck if the header file longer than 20 and not separated by tab or space (#89) * add awk command to clean big fasta headers * add awk statement to clean big fasta headers * update bakta version * fix bakta stats parsing * 81 add tool mob suite (#90) * Add pre-formatted database (#83) * add pre-formatted database info * add information about pre-formatted database * add mob suite module * added results to HTML report * Update Dockerfile * added mob_suite to json summary * add tool to markdown files * add tool information to docs * add example reports * update singularity config * fixed kofamscan download * fix dockerfile * Fix unicycler tag * use only docker images to avoid timeout error * use docker ocntainer to avoid singularity timeout * fixed resfinder for singularity * fixed docker image * fix gff2sql in singularity * use proper singularity images * fix singularity image download * fixed docker image * Add option for prebuilt db download (#94) * include module to download pre-built databases * update docs * 69 tools to use own docker image (#91) * moved container configurations of assembly modules * update default flye version * update container configuration for database-setup modules * re-organize container definition of 'generic' modules * reorganize container configuration for KO modules * reorganized container configuration for MGEs modules * finalizing container configuration reorganization of last modules * containers already defined in config files * update params schema * fixed zenodo download * mob_suite singularity image not always suited for low connection servers * add option to download container configs * update unicycler version (0.5.0--py310h6cc9453_3) * 96 error summary for bugfix release (#101) Update falmeida-py version * 98 include ices and prophage annotation in json summary (#106) * Try Dockerfile fix * Update Dockerfile * Update Dockerfile * Update CHANGELOG.md * 100 update pipeline docker images from docker tags to docker shasum (#108) * fix singularity run options * fix misc dockerfile * update renv docker image environment * update docker images to use shasum * Update CHANGELOG.md * 107 duplicate reads to unique read names (#109) * Add pre-formatted database (#83) * add pre-formatted database info * add information about pre-formatted database * update docs and fix report links * include information of newly known issues (#103) * add parameter to enable deduplication of reads * Update manual.md * update changelog * Update docs for v3.3 (#110) * update cli help * Update installation.md * add indentation * Update README.md * Update README.md * fix tracedir * always show from copy * Update quickstart.md * Update manual.md * update citation information * add citation example * Update CHANGELOG.md --- .zenodo.json | 2 +- README.md | 79 +++------ bin/gff2sql.R | 4 +- bin/mlst-make_blast_db.sh | 23 +++ bin/run_jbrowse.sh | 120 +++++++------ conf/defaults.config | 16 +- conf/docker.config | 102 +++++++---- conf/singularity.config | 111 ++++++++---- docker/misc/Dockerfile | 113 +++++++----- docker/perlenv/Dockerfile | 38 ---- docker/perlenv/build.sh | 1 - docker/pyenv/Dockerfile | 26 --- docker/pyenv/build.sh | 1 - docker/renv/Dockerfile | 4 +- docker/renv/reports/no_integronfinder.Rmd | 1 + docker/renv/reports/report_MGEs.Rmd | 35 +++- docker/renv/reports/yes_digis.Rmd | 2 +- docker/renv/reports/yes_integronfinder.Rmd | 12 ++ docker/renv/reports/yes_plasmids.Rmd | 26 +++ docker/renv/scripts/rscripts/gff2sql.R | 139 --------------- docker/set_version.sh | 2 +- docs/config.md | 188 +------------------- docs/defaults.config | 191 +++++++++++++++++++++ docs/index.md | 6 +- docs/installation.md | 65 +++++-- docs/manual.md | 8 +- docs/outputs.md | 3 +- docs/quickstart.md | 9 +- docs/reports/report_MGEs.html | 83 +++++---- docs/reports/report_general.html | 22 +-- docs/reports/report_resistance.html | 22 +-- docs/reports/report_virulence.html | 12 +- docs/requirements.txt | 3 +- lib/WorkflowBacannot.groovy | 16 +- lib/WorkflowMain.groovy | 26 ++- main.nf | 2 +- markdown/CHANGELOG.md | 14 ++ markdown/list_of_tools.md | 4 +- mkdocs.yml | 2 + modules/KOs/kofamscan.nf | 2 +- modules/MGEs/draw_gis.nf | 1 - modules/MGEs/integron_finder.nf | 42 +++++ modules/MGEs/integron_finder_2gff.nf | 24 +++ modules/MGEs/islandpath.nf | 4 +- modules/MGEs/mob_suite.nf | 36 ++++ modules/MGEs/plasmidfinder.nf | 2 +- modules/MGEs/platon.nf | 2 +- modules/assembly/flye.nf | 11 +- modules/assembly/unicycler.nf | 49 +++++- modules/bacannot_dbs/amrfinder.nf | 4 +- modules/bacannot_dbs/antismash.nf | 2 +- modules/bacannot_dbs/argminer.nf | 2 +- modules/bacannot_dbs/card.nf | 4 +- modules/bacannot_dbs/get_zenodo.nf | 19 ++ modules/bacannot_dbs/iceberg.nf | 2 +- modules/bacannot_dbs/kofamscan.nf | 17 +- modules/bacannot_dbs/mlst.nf | 2 +- modules/bacannot_dbs/phast.nf | 2 +- modules/bacannot_dbs/phigaro.nf | 2 +- modules/bacannot_dbs/plasmidfinder.nf | 2 +- modules/bacannot_dbs/platon.nf | 2 +- modules/bacannot_dbs/prokka.nf | 2 +- modules/bacannot_dbs/resfinder.nf | 2 +- modules/bacannot_dbs/vfdb.nf | 2 +- modules/bacannot_dbs/victors.nf | 2 +- modules/generic/bakta.nf | 13 +- modules/generic/barrnap.nf | 2 +- modules/generic/circos.nf | 3 +- modules/generic/gc_skew.nf | 3 +- modules/generic/gff2gbk.nf | 3 - modules/generic/gff2sql.nf | 3 - modules/generic/jbrowse.nf | 5 +- modules/generic/karyotype.nf | 1 - modules/generic/mash.nf | 2 +- modules/generic/merge_annotations.nf | 8 +- modules/generic/merge_summaries.nf | 1 - modules/generic/mlst.nf | 10 +- modules/generic/prepare_circos.nf | 1 - modules/generic/prokka.nf | 23 ++- modules/generic/reports.nf | 98 ++++++----- modules/generic/sequenceserver.nf | 3 +- modules/generic/summary.nf | 40 +++-- modules/prophages/phigaro.nf | 7 +- modules/prophages/phispy.nf | 2 +- modules/resistance/amrfinder.nf | 2 +- modules/resistance/amrfinder2tsv.nf | 1 - modules/resistance/resfinder.nf | 63 +++---- modules/resistance/rgi_annotation.nf | 7 +- modules/virulence/vfdb2tsv.nf | 1 - nextflow.config | 15 +- nextflow_schema.json | 66 ++++--- workflows/bacannot.nf | 63 ++++--- workflows/bacannot_dbs.nf | 35 ++-- 93 files changed, 1293 insertions(+), 962 deletions(-) create mode 100755 bin/mlst-make_blast_db.sh delete mode 100644 docker/perlenv/Dockerfile delete mode 100644 docker/perlenv/build.sh delete mode 100644 docker/pyenv/Dockerfile delete mode 100644 docker/pyenv/build.sh create mode 100644 docker/renv/reports/no_integronfinder.Rmd create mode 100644 docker/renv/reports/yes_integronfinder.Rmd delete mode 100644 docker/renv/scripts/rscripts/gff2sql.R create mode 100644 docs/defaults.config create mode 100644 modules/MGEs/integron_finder.nf create mode 100644 modules/MGEs/integron_finder_2gff.nf create mode 100644 modules/MGEs/mob_suite.nf create mode 100644 modules/bacannot_dbs/get_zenodo.nf diff --git a/.zenodo.json b/.zenodo.json index 64902e93..3865b55a 100644 --- a/.zenodo.json +++ b/.zenodo.json @@ -2,7 +2,7 @@ "description": "

The pipeline

\n\n

bacannot, is a customisable, easy to use, pipeline that uses state-of-the-art software for comprehensively annotating prokaryotic genomes having only Docker and Nextflow as dependencies. It is able to annotate and detect virulence and resistance genes, plasmids, secondary metabolites, genomic islands, prophages, ICEs, KO, and more, while providing nice an beautiful interactive documents for results exploration.

", "license": "other-open", "title": "fmalmeida/bacannot: A generic but comprehensive bacterial annotation pipeline", - "version": "v3.2", + "version": "v3.3", "upload_type": "software", "creators": [ { diff --git a/README.md b/README.md index aa3fe83f..2eda798d 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ -[![Cite with Zenodo](http://img.shields.io/badge/DOI-10.5281/zenodo.3627669-1073c8?labelColor=000000)](https://doi.org/10.5281/zenodo.3627669) +[![F1000 Paper](https://img.shields.io/badge/Citation%20F1000-10.12688/f1000research.139488.1-orange)](https://doi.org/10.12688/f1000research.139488.1) [![GitHub release (latest by date including pre-releases)](https://img.shields.io/github/v/release/fmalmeida/bacannot?include_prereleases&label=Latest%20release)](https://github.com/fmalmeida/bacannot/releases) [![Documentation](https://img.shields.io/badge/Documentation-readthedocs-brightgreen)](https://bacannot.readthedocs.io/en/latest/?badge=latest) [![Nextflow](https://img.shields.io/badge/nextflow%20DSL2-%E2%89%A521.10.3-23aa62.svg?labelColor=000000)](https://www.nextflow.io/) @@ -8,6 +8,7 @@ [![run with singularity](https://img.shields.io/badge/run%20with-singularity-1d355c.svg?labelColor=000000)](https://sylabs.io/docs/) [![License](https://img.shields.io/badge/License-GPL%203-black)](https://github.com/fmalmeida/bacannot/blob/master/LICENSE) [![Follow on Twitter](http://img.shields.io/badge/twitter-%40fmarquesalmeida-1DA1F2?labelColor=000000&logo=twitter)](https://twitter.com/fmarquesalmeida) +[![Zenodo Archive](https://img.shields.io/badge/Zenodo-Archive-blue)](https://doi.org/10.5281/zenodo.3627669) [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/github.com/fmalmeida/bacannot) @@ -47,8 +48,9 @@ Its main steps are: | Annotation of virulence genes | [Victors](http://www.phidias.us/victors/) and [VFDB](http://www.mgc.ac.cn/VFs/main.htm) | | Prophage sequences and genes annotation | [PHASTER](http://phast.wishartlab.com/), [Phigaro](https://github.com/bobeobibo/phigaro) and [PhySpy](https://github.com/linsalrob/PhiSpy) | | Annotation of integrative and conjugative elements | [ICEberg](http://db-mml.sjtu.edu.cn/ICEberg/) | +| Annotation of bacterial integrons | [Integron Finder](https://github.com/gem-pasteur/Integron_Finder) | | Focused detection of insertion sequences | [digIS](https://github.com/janka2012/digIS) | -| _In silico_ detection of plasmids | [Plasmidfinder](https://cge.cbs.dtu.dk/services/PlasmidFinder/) and [Platon](https://github.com/oschwengers/platon) | +| _In silico_ detection and typing of plasmids | [Plasmidfinder](https://cge.cbs.dtu.dk/services/PlasmidFinder/), [Platon](https://github.com/oschwengers/platon) and [MOB-typer](https://github.com/phac-nml/mob-suite)| | Prediction and visualization of genomic islands | [IslandPath-DIMOB](https://github.com/brinkmanlab/islandpath) and [gff-toolbox](https://github.com/fmalmeida/gff-toolbox) | | Custom annotation from formatted FASTA or NCBI protein IDs | [BLAST](https://blast.ncbi.nlm.nih.gov/Blast.cgi?PAGE_TYPE=BlastDocs) | | Merge of annotation results | [bedtools](https://bedtools.readthedocs.io/en/latest/) | @@ -86,18 +88,7 @@ These images have been kept separate to not create massive Docker image and to a ## Installation -1. If you don't have it already install [Docker](https://docs.docker.com/) in your computer. - * After installed, you need to download the required Docker images - - ```bash - docker pull fmalmeida/bacannot:v3.2_misc ; - docker pull fmalmeida/bacannot:v3.2_perlenv ; - docker pull fmalmeida/bacannot:v3.2_pyenv ; - docker pull fmalmeida/bacannot:v3.2_renv ; - docker pull fmalmeida/bacannot:jbrowse ; - ``` - -🔥 Nextflow can also automatically handle images download on the fly when executed. If docker has exceeded its download limit rates, please try again in a few hours. +1. If you don't have it already install either [Docker](https://docs.docker.com/) or [Singularity](https://docs.sylabs.io/guides/3.5/user-guide/index.html) in your computer. 2. Install Nextflow (version 20.10 or higher): @@ -111,48 +102,7 @@ These images have been kept separate to not create massive Docker image and to a 🔥 Users can get let the pipeline always updated with: `nextflow pull fmalmeida/bacannot` -### Downloading and updating databases - -Bacannot databases are not inside the docker images anymore to avoid huge images and problems with connections and limit rates with dockerhub. - -#### Pre-formatted - -Users can directly download pre-formatted databases from Zenodo: https://doi.org/10.5281/zenodo.7615811 - -Useful for standardization and also overcoming known issues that may arise when formatting databases with `singularity` profile. - -#### I want to generate a new formatted database - -To download and format a copy of required bacannot databases users can execute the following: - -```bash -# Download pipeline databases -nextflow run fmalmeida/bacannot --get_dbs --output bacannot_dbs -profile -``` - -This will produce a directory like this: - -```bash -bacannot_dbs -├── amrfinder_db -├── antismash_db -├── argminer_db -├── card_db -├── iceberg_db -├── kofamscan_db -├── mlst_db -├── phast_db -├── phigaro_db -├── pipeline_info -├── plasmidfinder_db -├── platon_db -├── prokka_db -├── resfinder_db -├── vfdb_db -└── victors_db -``` - -> To update databases you can either download a new one to a new directory. Remove the database you want to get a new one from the root bacannot dir and use the same command above to save in the same directory (the pipeline will only try to download missing databases). Or, you can use the parameter `--force_update` to download everything again. +Please refer to the installation page, for a complete guide on required images and databases. » ## Quickstart @@ -185,6 +135,17 @@ Create a configuration file in your working directory: nextflow run fmalmeida/bacannot --get_config +##### Overwrite container versions with config + +The pipeline uses pre-set docker and singularity configuration files to set all the containers and versions of images that should be used by each module in the pipeline. + +Although not recommended, one can use these configuration files to change the version of specific tools if desired. + +To download these configs one can: + + nextflow run fmalmeida/bacannot --get_docker_config + nextflow run fmalmeida/bacannot --get_singularity_config + ### Interactive graphical configuration and execution #### Via NF tower launchpad (good for cloud env execution) @@ -234,7 +195,11 @@ It will result in the following: ## Citation -To cite this tool please refer to our [Zenodo tag](https://doi.org/10.5281/zenodo.3627669). +In order to cite this pipeline, please refer to: + +> Almeida FMd, Campos TAd and Pappas Jr GJ. Scalable and versatile container-based pipelines for de novo genome assembly and bacterial annotation. [version 1; peer review: awaiting peer review]. F1000Research 2023, 12:1205 (https://doi.org/10.12688/f1000research.139488.1) + +Additionally, archived versions of the pipeline are also found in [Zenodo](https://doi.org/10.5281/zenodo.3627669). This pipeline uses code and infrastructure developed and maintained by the [nf-core](https://nf-co.re) community, reused here under the [GPLv3](https://github.com/fmalmeida/bacannot/blob/master/LICENSE). diff --git a/bin/gff2sql.R b/bin/gff2sql.R index 61eac29d..94920dfc 100755 --- a/bin/gff2sql.R +++ b/bin/gff2sql.R @@ -54,8 +54,8 @@ addTable <- function (con, sql, input) { # Loading SQL database driver drv <- dbDriver("SQLite") -dbname <- file.path("/work", opt$out) -con <- dbConnect(drv, dbname=dbname) +print(opt$out) +con <- dbConnect(drv, dbname=opt$out) ##################################### ### First STEP load GENOME to sql ### diff --git a/bin/mlst-make_blast_db.sh b/bin/mlst-make_blast_db.sh new file mode 100755 index 00000000..4cc370f8 --- /dev/null +++ b/bin/mlst-make_blast_db.sh @@ -0,0 +1,23 @@ +#!/bin/bash + +DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" +MLSTDIR="$0" +BLASTDIR="$DIR/../db/blast" +BLASTFILE="$BLASTDIR/mlst.fa" + +mkdir -p "$BLASTDIR" +rm -f "$BLASTFILE" + +#for N in $(find $MLSTDIR -maxdepth 1 | grep -v '_2$'); do +for N in $(find $MLSTDIR -mindepth 1 -maxdepth 1 -type d); do + SCHEME=$(basename $N) + echo "Adding: $SCHEME" + cat "$MLSTDIR"/$SCHEME/*.tfa \ + | grep -v 'not a locus' \ + | sed -e "s/^>/>$SCHEME./" \ + >> "$BLASTFILE" +done + +makeblastdb -hash_index -in "$BLASTFILE" -dbtype nucl -title "PubMLST" -parse_seqids + +echo "Created BLAST database for $BLASTFILE" diff --git a/bin/run_jbrowse.sh b/bin/run_jbrowse.sh index 75eb3283..6753ca15 100755 --- a/bin/run_jbrowse.sh +++ b/bin/run_jbrowse.sh @@ -14,7 +14,7 @@ Help() echo "Simple help message for the utilization of this script" echo "It takes the jbrowse data path and all the files that shall be plotted from bacannot" echo - echo "Syntax: run_jbrowse.sh [-h|p|g|b|s|f|r|B|P|G|m|S|R|d|A]" + echo "Syntax: run_jbrowse.sh [-h|p|g|b|s|f|r|B|P|G|m|S|R|d|A|i]" echo "options:" echo echo "h Print this help" @@ -32,59 +32,63 @@ Help() echo "R Path to Resfinder custom GFF" echo "d Path to digIS custom GFF" echo "A Path to antismash custom GFF" + echo "i Path to Integron Finder custom GFF" echo "" echo } # Get the options -while getopts "hp:g:b:s:f:r:B:P:G:m:S:R:d:A:" option; do - case $option in - h) # display Help - Help - exit;; -p) # get genome prefix - PREFIX="$OPTARG" - ;; -g) # get genome FASTA - GENOME="$OPTARG" - ;; -b) # get GC bedgraph - BEDGRAPH="$OPTARG" - ;; -s) # get chr sizes - CHRSIZES="$OPTARG" - ;; -f) # get prokka gff - PROKKAGFF="$OPTARG" - ;; -r) # get barrnap gff - rRNAGFF="$OPTARG" - ;; -B) # get phigaro bed - PHIGAROBED="$OPTARG" - ;; -P) # get phispy bed - PHISPYBED="$OPTARG" - ;; -G) # get GIs bed - GIBED="$OPTARG" - ;; -m) # get nanopolish methylation - NANOMETHYL="$OPTARG" - ;; -S) # get nanopolish chr sizes - NANOSIZES="$OPTARG" - ;; -R) # get resfinder GFF - RESFINDERGFF="$OPTARG" - ;; -d) # get digIS GFF - DIGISGFF="$OPTARG" - ;; -A) # get antismash GFF - ANTISMASHGFF="$OPTARG" - ;; - esac +while getopts "hp:g:b:s:f:r:B:P:G:m:S:R:d:A:i:" option; do + case $option in + h) # display Help + Help + exit;; + p) # get genome prefix + PREFIX="$OPTARG" + ;; + g) # get genome FASTA + GENOME="$OPTARG" + ;; + b) # get GC bedgraph + BEDGRAPH="$OPTARG" + ;; + s) # get chr sizes + CHRSIZES="$OPTARG" + ;; + f) # get prokka gff + PROKKAGFF="$OPTARG" + ;; + r) # get barrnap gff + rRNAGFF="$OPTARG" + ;; + B) # get phigaro bed + PHIGAROBED="$OPTARG" + ;; + P) # get phispy bed + PHISPYBED="$OPTARG" + ;; + G) # get GIs bed + GIBED="$OPTARG" + ;; + m) # get nanopolish methylation + NANOMETHYL="$OPTARG" + ;; + S) # get nanopolish chr sizes + NANOSIZES="$OPTARG" + ;; + R) # get resfinder GFF + RESFINDERGFF="$OPTARG" + ;; + d) # get digIS GFF + DIGISGFF="$OPTARG" + ;; + A) # get antismash GFF + ANTISMASHGFF="$OPTARG" + ;; + i) # get integron finder GFF + INTEGRONFINDERGFF="$OPTARG" + ;; + esac done # Main @@ -313,7 +317,7 @@ remove-track.pl --trackLabel "${PREFIX} CARD-RGI resistance features" --dir data --trackLabel "${PREFIX} Resfinder resistance features" --out "data" --nameAttributes "Resfinder_gene,ID,Resfinder_phenotype" ; remove-track.pl --trackLabel "${PREFIX} Resfinder resistance features" --dir data &> /tmp/error [ ! -s $RESFINDERGFF ] || echo -E " { \"compress\" : 0, \ - \"displayMode\" : \"compact\", \ + \"displayMode\" : \"compact\", \ \"key\" : \"${PREFIX} Resfinder resistance features\", \ \"category\" : \"Resistance annotation\", \ \"label\" : \"${PREFIX} Resfinder resistance features\", \ @@ -343,6 +347,22 @@ remove-track.pl --trackLabel "${PREFIX} ICE genes from ICEberg database" --dir d \"urlTemplate\" : \"tracks/${PREFIX} ICE genes from ICEberg database/{refseq}/trackData.json\" } " | add-track-json.pl data/trackList.json [ $(grep "ICEberg" $PROKKAGFF | wc -l) -eq 0 ] || rm -f iceberg ices ; +## Integron Finder +[ $(wc -l $INTEGRONFINDERGFF) -eq 0 ] || flatfile-to-json.pl --gff $INTEGRONFINDERGFF --key "${PREFIX} Annotated Integrons - Integron Finder" --trackType CanvasFeatures \ +--trackLabel "${PREFIX} Annotated Integrons - Integron Finder" --out "data" --nameAttributes "ID,integron_type" ; +remove-track.pl --trackLabel "${PREFIX} Annotated Integrons - Integron Finder" --dir data &> /tmp/error +[ $(wc -l $INTEGRONFINDERGFF) -eq 0 ] || echo -E " { \"compress\" : 0, \ +\"displayMode\" : \"compact\", \ + \"key\" : \"${PREFIX} Annotated Integrons - Integron Finder\", \ + \"category\" : \"MGEs annotation\", \ + \"label\" : \"${PREFIX} Annotated Integrons - Integron Finder\", \ + \"storeClass\" : \"JBrowse/Store/SeqFeature/NCList\", \ + \"style\" : { \"className\" : \"feature\", \"color\": \"#6db6d9\" }, \ + \"trackType\" : \"CanvasFeatures\", \ + \"type\" : \"CanvasFeatures\", \ + \"nameAttributes\" : \"ID,integron_type\", \ + \"urlTemplate\" : \"tracks/${PREFIX} Annotated Integrons - Integron Finder/{refseq}/trackData.json\" } " | add-track-json.pl data/trackList.json + ## PROPHAGES ### PHAST [ $(grep "PHAST" $PROKKAGFF | wc -l) -eq 0 ] || grep "PHAST" $PROKKAGFF > prophage ; diff --git a/conf/defaults.config b/conf/defaults.config index 3a795347..0d43fe48 100644 --- a/conf/defaults.config +++ b/conf/defaults.config @@ -14,8 +14,9 @@ params { // Trigger database download and formatting workflow? --> will not run annotation // Will download and format a database inside {output} parameter - get_dbs = false - force_update = false + get_dbs = false + force_update = false + get_zenodo_db = false // download pre-built database /* @@ -31,6 +32,9 @@ params { // It is also documented in the main manual: https://bacannot.readthedocs.io/en/latest/samplesheet input = null +// Enable reads deduplication for assembly? (If input has reads) + enable_deduplication = false + // path to directory containing databases used by bacannot // you can download databases with: // nextflow run fmalmeida/bacannot --get_dbs --output bacannot_dbs -profile @@ -175,13 +179,13 @@ params { // Select versions of bioconda quay.io additional tools // Tools that are not part of the core of the pipeline, // but can eventually be used by users - unicycler_version = '0.4.8--py38h8162308_3' - flye_version = '2.9--py39h39abbe0_0' - bakta_version = '1.6.1--pyhdfd78af_0' + unicycler_version = '0.5.0--py310h6cc9453_3' + flye_version = '2.9--py39h6935b12_1' + bakta_version = '1.7.0--pyhdfd78af_1' // Max resource options max_memory = '20.GB' max_cpus = 16 max_time = '40.h' -} \ No newline at end of file +} diff --git a/conf/docker.config b/conf/docker.config index 84710c67..28ffa1ab 100644 --- a/conf/docker.config +++ b/conf/docker.config @@ -14,63 +14,97 @@ docker { // specific images process { - // container with various tools for general purposes + // + // Custom pipeline's containers with various tools for general purposes + // withLabel: 'db_download|db_tools|misc' { - container = 'fmalmeida/bacannot:v3.2_misc' - } - - // container for perl tools - withLabel: 'perl' { - container = 'fmalmeida/bacannot:v3.2_perlenv' - } - - // container for python tools - withLabel: 'python' { - container = 'fmalmeida/bacannot:v3.2_pyenv' + container = 'fmalmeida/bacannot@sha256:726e085f1bd71b47c2d8a38fd46d812aab7eb8978bab7bf3cde3aa2b7b3e0f2c' } // container for R tools withLabel: 'renv' { - container = 'fmalmeida/bacannot:v3.2_renv' + container = 'fmalmeida/bacannot@sha256:952f58a2c03e50f8a376073346fb1ccda28d6249e3fdfea07a3286a6ff1adf0c' } // container for bacannot server withLabel: 'server' { - container = 'fmalmeida/bacannot:server' + container = 'fmalmeida/bacannot@sha256:0ec3b289d6e0c624556d125b2ed9b63499178e266a315175fd87cf020a402898' } withLabel: 'jbrowse' { - container = 'fmalmeida/bacannot:jbrowse' + container = 'fmalmeida/bacannot@sha256:6afdca17b561bf212c1f976422aee3fe047563c32a15112a6262556d1f75201e' + } + + // + // Public containers used within the pipeline + // + withName: FLYE { + container = "quay.io/biocontainers/flye:${params.flye_version}" } withName: UNICYCLER { - container = "quay.io/biocontainers/unicycler:${params.unicycler_version}" + container = "quay.io/biocontainers/unicycler:${params.unicycler_version}" } - withName: FLYE { - container = "quay.io/biocontainers/flye:${params.flye_version}" + withName: 'AMRFINDER_DB|AMRFINDER' { + container = "ncbi/amr:3.11.2-2022-12-19.1" } withName: BAKTA { - container = "quay.io/biocontainers/bakta:${params.bakta_version}" + container = "quay.io/biocontainers/bakta:${params.bakta_version}" } - /* - * Other (non-image) customization - */ - - // islandPath dimob container - withName: 'ISLANDPATH' { - // it generally fails without any reason on the first time - errorStrategy = 'retry' - maxRetries = 5 + withName: BARRNAP { + container = "quay.io/biocontainers/barrnap:0.9--hdfd78af_4" } - - // kofamscan container - withName: 'KOFAMSCAN' { - // it generally fails without any reason on the first time - errorStrategy = 'retry' - maxRetries = 2 + + withName: REFSEQ_MASHER { + container = "quay.io/biocontainers/refseq_masher:0.1.2--py_0" + } + + withName: MLST { + container = "quay.io/biocontainers/mlst:2.19.0--hdfd78af_1" + } + + withName: PROKKA { + container = "quay.io/biocontainers/prokka:1.14.6--pl5321hdfd78af_4" + } + + withName: KOFAMSCAN { + container = "quay.io/biocontainers/kofamscan:1.3.0--hdfd78af_2" } + + withName: INTEGRON_FINDER { + container = "quay.io/biocontainers/integron_finder:2.0.1--pyhdfd78af_0" + } + + withName: ISLANDPATH { + container = "quay.io/biocontainers/islandpath:1.0.6--hdfd78af_0" + } + + withName: MOBSUITE { + container = "quay.io/biocontainers/mob_suite:3.1.4--pyhdfd78af_0" + } + + withName: PLASMIDFINDER { + container = "quay.io/biocontainers/plasmidfinder:2.1.6--py310hdfd78af_1" + } + + withName: PLATON { + container = "quay.io/biocontainers/platon:1.6--pyhdfd78af_1" + } + + withName: PHIGARO { + container = "quay.io/biocontainers/phigaro:2.3.0--pyh7b7c402_0" + } + + withName: PHISPY { + container = "quay.io/biocontainers/phispy:4.2.21--py39h7cff6ad_0" + } + + withName: CARD_RGI { + container = "quay.io/biocontainers/rgi:5.2.1--pyhdfd78af_1" + } + } diff --git a/conf/singularity.config b/conf/singularity.config index a7ca1839..f75a7559 100644 --- a/conf/singularity.config +++ b/conf/singularity.config @@ -1,7 +1,9 @@ // Container usage and permission -docker.enabled = false -singularity.enabled = true -singularity.runOptions = '--writable-tmpfs' +docker.enabled = false +singularity.enabled = true +singularity.runOptions = '--writable-tmpfs -e --no-home -B $PWD' +singularity.autoMounts = true +env.SINGULARITY_DISABLE_CACHE = 1 /* @@ -12,63 +14,98 @@ singularity.runOptions = '--writable-tmpfs' // specific images process { - // container with various tools for general purposes + // + // Custom pipeline's containers with various tools for general purposes + // withLabel: 'db_download|db_tools|misc' { - container = 'docker://fmalmeida/bacannot:v3.2_misc' - } - - // container for perl tools - withLabel: 'perl' { - container = 'docker://fmalmeida/bacannot:v3.2_perlenv' - } - - // container for python tools - withLabel: 'python' { - container = 'docker://fmalmeida/bacannot:v3.2_pyenv' + container = 'docker://fmalmeida/bacannot@sha256:726e085f1bd71b47c2d8a38fd46d812aab7eb8978bab7bf3cde3aa2b7b3e0f2c' } // container for R tools withLabel: 'renv' { - container = 'docker://fmalmeida/bacannot:v3.2_renv' + container = 'docker://fmalmeida/bacannot@sha256:952f58a2c03e50f8a376073346fb1ccda28d6249e3fdfea07a3286a6ff1adf0c' } // container for bacannot server withLabel: 'server' { - container = 'docker://fmalmeida/bacannot:server' + container = 'docker://fmalmeida/bacannot@sha256:0ec3b289d6e0c624556d125b2ed9b63499178e266a315175fd87cf020a402898' } withLabel: 'jbrowse' { - container = 'docker://fmalmeida/bacannot:jbrowse' + container = 'docker://fmalmeida/bacannot@sha256:6afdca17b561bf212c1f976422aee3fe047563c32a15112a6262556d1f75201e' + } + + // + // Public containers used within the pipeline + // + withName: FLYE { + container = "https://depot.galaxyproject.org/singularity/flye:${params.flye_version}" } withName: UNICYCLER { - container = "https://depot.galaxyproject.org/singularity/unicycler:${params.unicycler_version}" + container = "https://depot.galaxyproject.org/singularity/unicycler:${params.unicycler_version}" } - withName: FLYE { - container = "https://depot.galaxyproject.org/singularity/flye:${params.flye_version}" + withName: 'AMRFINDER_DB|AMRFINDER' { + container = "docker://ncbi/amr:3.11.2-2022-12-19.1" } withName: BAKTA { - container = "https://depot.galaxyproject.org/singularity/bakta:${params.bakta_version}" + container = "https://depot.galaxyproject.org/singularity/bakta:${params.bakta_version}" } - /* - * Other (non-image) customization - */ - - // islandPath dimob container - withName: 'ISLANDPATH' { - // it generally fails without any reason on the first time - errorStrategy = 'retry' - maxRetries = 5 + withName: BARRNAP { + container = "https://depot.galaxyproject.org/singularity/barrnap:0.9--hdfd78af_4" } - - // kofamscan container - withName: 'KOFAMSCAN' { - // it generally fails without any reason on the first time - errorStrategy = 'retry' - maxRetries = 2 + + withName: REFSEQ_MASHER { + container = "https://depot.galaxyproject.org/singularity/refseq_masher:0.1.2--py_0" + } + + withName: MLST { + container = "https://depot.galaxyproject.org/singularity/mlst:2.19.0--hdfd78af_1" + } + + withName: PROKKA { + container = "https://depot.galaxyproject.org/singularity/prokka:1.14.6--pl5321hdfd78af_4" + } + + withName: KOFAMSCAN { + container = "https://depot.galaxyproject.org/singularity/kofamscan:1.3.0--hdfd78af_2" } + + withName: INTEGRON_FINDER { + container = "https://depot.galaxyproject.org/singularity/integron_finder:2.0.1--pyhdfd78af_0" + } + + withName: ISLANDPATH { + container = "https://depot.galaxyproject.org/singularity/islandpath:1.0.6--hdfd78af_0" + } + + withName: MOBSUITE { + // container = "https://depot.galaxyproject.org/singularity/mob_suite:3.1.4--pyhdfd78af_0" + container = "docker://quay.io/biocontainers/mob_suite:3.1.4--pyhdfd78af_0" + } + + withName: PLASMIDFINDER { + container = "https://depot.galaxyproject.org/singularity/plasmidfinder:2.1.6--py310hdfd78af_1" + } + + withName: PLATON { + container = "https://depot.galaxyproject.org/singularity/platon:1.6--pyhdfd78af_1" + } + + withName: PHIGARO { + container = "https://depot.galaxyproject.org/singularity/phigaro:2.3.0--pyh7b7c402_0" + } + + withName: PHISPY { + container = "https://depot.galaxyproject.org/singularity/phispy:4.2.21--py39h7cff6ad_0" + } + + withName: CARD_RGI { + container = "https://depot.galaxyproject.org/singularity/rgi:5.2.1--pyhdfd78af_1" + } + } diff --git a/docker/misc/Dockerfile b/docker/misc/Dockerfile index 3853a59f..3e7c3422 100644 --- a/docker/misc/Dockerfile +++ b/docker/misc/Dockerfile @@ -2,42 +2,63 @@ FROM nfcore/base LABEL authors="Felipe Almeida" \ description="Docker image containing any-based bacannot tools" -# Install the conda environment -RUN conda install -c bioconda -c defaults -c conda-forge -c anaconda -c falmeida --force-reinstall --update-deps --no-channel-priority \ - curl \ - git \ - 'python=3.7' \ - 'blast=2.12.0' \ - 'diamond=2.0.15' \ - 'bedtools=2.30' \ - 'samtools=1.14' \ - 'kma' \ - 'kofamscan' \ - 'ncbi-amrfinderplus' \ - 'nanopolish' \ - 'biopython==1.78' \ - gff-toolbox \ - seqkit && \ +# install mamba +RUN conda install -n base -c conda-forge 'mamba=1.5' --yes && \ conda clean -afy +RUN pip install --upgrade pip -# Create env for digIS -RUN conda create -y -n digIS -c bioconda -c defaults -c conda-forge -c anaconda -c falmeida --no-channel-priority 'hmmer==3.1b2' 'biopython==1.77' nomkl && \ - conda clean -afy +# Install the conda environment +RUN mamba install -y \ + -c bioconda -c defaults -c conda-forge -c anaconda -c falmeida \ + --no-channel-priority \ + 'python=3.9' \ + 'blast>=2.12' \ + 'diamond>=2.0.15' \ + 'bedtools>=2.30' \ + 'kma' \ + 'nanopolish' \ + 'biopython==1.78' \ + seqkit \ + bioawk \ + 'easy_circos==0.4' \ + 'conda-forge::openssl>=1.1' \ + 'pyproj=3.2' \ + emboss \ + libtiff \ + jq && \ + mamba clean -afy +RUN git clone https://github.com/fmalmeida/pythonScripts.git && \ + cd pythonScripts && \ + pip install . && \ + falmeida-py --help -# Create env for antismash -RUN conda create -y -n antismash \ - -c bioconda -c defaults -c conda-forge -c anaconda -c falmeida --no-channel-priority \ - 'antismash>=6' 'anaconda::jinja2' 'anaconda::markupsafe' emboss nomkl && \ - rm -r /opt/conda/envs/antismash/lib/*/site-packages/antismash/databases && \ - conda clean -afy +# Install samtools +RUN apt-get update -y && apt-get install -y samtools + +# Install gff-toolbox +RUN git clone https://github.com/fmalmeida/gff-toolbox.git +RUN cd gff-toolbox && \ + python3 -m pip install --upgrade pip 'matplotlib==3.7.3' && \ + python3 setup.py install && \ + gff-toolbox -h + +# Create env for digIS +RUN mamba create -y \ + -c bioconda -c defaults -c conda-forge -c anaconda -c falmeida \ + -n digIS \ + --no-channel-priority \ + 'hmmer==3.1b2' 'biopython==1.77' nomkl && \ + mamba clean -afy # Install pip packages -RUN pip install docopt pandas tabulate numpy bcbio-gff cgecore gitpython setuptools python-dateutil 'biopython==1.78' +# RUN pip install docopt pandas tabulate numpy bcbio-gff cgecore gitpython setuptools python-dateutil 'biopython==1.78' # Install KEGGDecoder -RUN conda create -n KEGGDecoder python=3.6 && \ +RUN mamba create \ + -n KEGGDecoder \ + python=3.6 && \ conda run -n KEGGDecoder python3 -m pip install KEGGDecoder && \ - conda clean -afy + mamba clean -afy # set CONDA_PREFIX ENV CONDA_PREFIX=/opt/conda @@ -48,29 +69,35 @@ COPY argminer_bkp/argminer.fasta /work/argminer.fasta COPY victors_bkp/victors_06-2022.fasta /work/victors.fasta # get a copy of resfinder -RUN conda create -y -n resfinder \ - -c bioconda -c anaconda -c conda-forge -c defaults \ +RUN mamba create -y -n resfinder \ + -c bioconda -c defaults -c conda-forge -c anaconda -c falmeida \ 'resfinder>=4.1' docopt pandas && \ - conda clean -afy + mamba clean -afy # get a copy of digis RUN git clone -b master https://github.com/janka2012/digIS.git COPY custom_fix_grange_digis.py /work/digIS/src/common/grange.py ENV PATH=/work/digIS:$PATH -# install jq -RUN apt-get update && apt-get install -y jq +# Create env for antismash +RUN mamba create -y -n antismash -c bioconda -c conda-forge \ + 'bioconda::antismash>=6' 'anaconda::flask' 'anaconda::jinja2' 'anaconda::markupsafe' nomkl && \ + rm -rf /opt/conda/envs/antismash/lib/*/site-packages/antismash/databases && \ + mamba clean -afy + +# fix bioperl +RUN mamba create -n perl -y \ + -c bioconda -c conda-forge -c anaconda -c defaults \ + perl-bioperl perl-app-cpanminus perl-yaml +RUN mamba run -n perl PERL5LIB= PERL_LOCAL_LIB_ROOT= cpanm Bio::Root::RootI -# install bioawk -RUN conda create -y -n bioawk \ - -c bioconda -c anaconda -c conda-forge -c defaults \ - bioawk && \ - conda clean -afy +# fix python +RUN python3 -m pip install cryptography==38.0.4 + +# install get zenodo +RUN pip3 install zenodo_get # fix permissions RUN chmod 777 -R /work -RUN chmod 777 -R /opt/conda/envs/antismash/lib/*/site-packages/antismash -RUN chmod 777 -R /opt/conda/envs/resfinder - -# fix antismash download script -# RUN sed -i 's|ftp://|http://|g' /opt/conda/envs/antismash/lib/*/site-packages/antismash/download_databases.py \ No newline at end of file +RUN chmod 777 -R /opt/conda/envs/antismash/lib/**/site-packages/antismash +RUN chmod 777 -R /opt/conda/envs/resfinder \ No newline at end of file diff --git a/docker/perlenv/Dockerfile b/docker/perlenv/Dockerfile deleted file mode 100644 index 2e8b1d24..00000000 --- a/docker/perlenv/Dockerfile +++ /dev/null @@ -1,38 +0,0 @@ -FROM nfcore/base -LABEL authors="Felipe Almeida" -LABEL description="Docker image containing perl-based bacannot tools" -ENV IMAGE=perl - -# Install the conda environment -RUN conda install \ - -c bioconda -c defaults -c conda-forge -c anaconda -c r -c falmeida \ - --force-reinstall --update-deps --no-channel-priority \ - 'prokka>=1.14' \ - 'hmmer=3.1b2' \ - barrnap \ - mlst \ - 'islandpath>=1.0.6' \ - 'python>3' \ - 'perl>=5.26' \ - 'perl-bioperl>=1.7.8' \ - perl-digest-sha1 \ - perl-app-cpanminus \ - perl-local-lib \ - 'easy_circos>=0.3' -ENV PERL5LIB="/opt/conda/lib/perl5/site_perl" - -# Fix perl -- prokka -RUN apt-get update -y && apt-get install -y build-essential libexpat1-dev -RUN cpanm Test::Needs --force --reinstall -RUN cpanm Test::RequiresInternet Test::NoWarnings --force --reinstall -RUN conda install -c conda-forge -y 'perl-xml-parser>2.44' -RUN cpanm XML::Twig Bio::Perl --force --reinstall || true -RUN apt-get install -y libtiff5 - -# set CONDA_PREFIX -ENV CONDA_PREFIX=/opt/conda - -WORKDIR /work - -# fix permissions for singularity -RUN chmod -R 777 /work /opt/conda/db \ No newline at end of file diff --git a/docker/perlenv/build.sh b/docker/perlenv/build.sh deleted file mode 100644 index 51153a5c..00000000 --- a/docker/perlenv/build.sh +++ /dev/null @@ -1 +0,0 @@ -../../bin/build_image.sh $1 diff --git a/docker/pyenv/Dockerfile b/docker/pyenv/Dockerfile deleted file mode 100644 index 3a4fe8bc..00000000 --- a/docker/pyenv/Dockerfile +++ /dev/null @@ -1,26 +0,0 @@ -FROM nfcore/base -LABEL authors="Felipe Almeida" \ - description="Docker image containing python-based bacannot tools" - -# Install the conda environment -# RUN conda install -c conda-forge -y 'mamba>=0.21' -RUN conda install -y \ - -c bioconda -c defaults -c conda-forge -c anaconda \ - 'openssl=1.1.1' \ - 'platon>=1.6' \ - phispy \ - plasmidfinder \ - 'python>=3.7' \ - refseq_masher \ - 'gsl==2.7' -RUN conda install -c conda-forge -y 'mamba>=0.21' -RUN mamba create -n rgi -c bioconda -c defaults -c conda-forge -c anaconda 'rgi>=5.2.1' -RUN mamba create -n phigaro -c bioconda -c defaults -c conda-forge -c anaconda phigaro -RUN mamba create -n falmeida-py -c falmeida -c bioconda -c defaults -c conda-forge -c anaconda 'falmeida-py>=0.9' - -# set CONDA_PREFIX -ENV CONDA_PREFIX=/opt/conda - -# Fix permissions -WORKDIR /work -RUN chmod -R 777 /work /opt/conda/envs/rgi/lib/python*/site-packages/app \ No newline at end of file diff --git a/docker/pyenv/build.sh b/docker/pyenv/build.sh deleted file mode 100644 index 51153a5c..00000000 --- a/docker/pyenv/build.sh +++ /dev/null @@ -1 +0,0 @@ -../../bin/build_image.sh $1 diff --git a/docker/renv/Dockerfile b/docker/renv/Dockerfile index e28066a8..5641c0b1 100644 --- a/docker/renv/Dockerfile +++ b/docker/renv/Dockerfile @@ -1,4 +1,4 @@ -FROM ubuntu:20.04 +FROM ubuntu:22.04 LABEL MAINTAINER Felipe Marques de Almeida @@ -13,7 +13,7 @@ RUN apt-get update && \ ## Install R RUN DEBIAN_FRONTEND=noninteractive apt-get install -y tzdata && \ - DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y r-base r-base-core r-api-3.5 + DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y r-base r-base-core ## Install R-packages RUN DEBIAN_FRONTEND=noninteractive apt-get update && \ diff --git a/docker/renv/reports/no_integronfinder.Rmd b/docker/renv/reports/no_integronfinder.Rmd new file mode 100644 index 00000000..175d25ce --- /dev/null +++ b/docker/renv/reports/no_integronfinder.Rmd @@ -0,0 +1 @@ +Not a integron have been predicted with [Integron Finder](https://github.com/gem-pasteur/Integron_Finder). This might have happened either because your genome really do not have integron sequences or due to misassemblies. You can always try to run the online version of the tool: https://integronfinder.readthedocs.io/en/latest/user_guide/webserver.html diff --git a/docker/renv/reports/report_MGEs.Rmd b/docker/renv/reports/report_MGEs.Rmd index f17cabfe..80fed6a0 100644 --- a/docker/renv/reports/report_MGEs.Rmd +++ b/docker/renv/reports/report_MGEs.Rmd @@ -13,8 +13,10 @@ params: phispy_tsv: plasmid_finder_tab: platon_tsv: + mobsuite_tsv: gi_image: digis: + integronfinder: query: gff: output: @@ -47,10 +49,12 @@ check_lines <- function(x) { # Read plasmids plasmid_finder_tab <- try(read.csv(params$plasmid_finder_tab, sep = "\t"), silent = TRUE) -platon_tsv <- try(read.csv(params$platon_tsv, sep = "\t"), silent = TRUE) +platon_tsv <- try(read.csv(params$platon_tsv, sep = "\t"), silent = TRUE) +mobsuite_tsv <- try(read.csv(params$mobsuite_tsv, sep = "\t", header=TRUE), silent = TRUE) # always have a line for chr if ( (class(plasmid_finder_tab) != 'try-error' & check_lines(plasmid_finder_tab) > 0) | - (class(platon_tsv) != 'try-error' & check_lines(platon_tsv) > 0) + (class(platon_tsv) != 'try-error' & check_lines(platon_tsv) > 0) | + (class(mobsuite_tsv) != 'try-error' & check_lines(mobsuite_tsv) > 1) ) { plasmids_not_null <- TRUE plasmids_null <- FALSE @@ -72,6 +76,16 @@ if (class(digis_gff) != 'try-error' & check_lines(digis_gff) > 0) { digis_null <- TRUE } +## Read Integron Finder GFF +integronfinder_gff <- try(gffRead(params$integronfinder), silent = TRUE) +if (class(integronfinder_gff) != 'try-error' & check_lines(integronfinder_gff) > 0) { + integronfinder_not_null <- TRUE + integronfinder_null <- FALSE +} else { + integronfinder_not_null <- FALSE + integronfinder_null <- TRUE +} + ## Read PHAST documents phast_prot_blast <- try(read.delim(params$phast_prot_blast, header = TRUE), silent = TRUE) phast_genome_blast <- try(read.delim(params$phast_genome_blast, header = TRUE), silent = TRUE) @@ -173,10 +187,15 @@ In this context, this pipeline is capable of automatically annotating some mobil 6. [Platon](https://github.com/oschwengers/platon); + Platon detects plasmid contigs within bacterial draft genomes from WGS short-read assemblies. + Therefore, Platon analyzes the natural distribution biases of certain protein coding genes between chromosomes and plasmids. -7. [IslandPath](https://github.com/brinkmanlab/islandpath). +7. [MOB Suite](https://github.com/phac-nml/mob-suite); + + Software tools for clustering, reconstruction and typing of plasmids from draft assemblies. + + In the pipeline, only the typer tool is used. +8. [IslandPath](https://github.com/brinkmanlab/islandpath). + IslandPath-DIMOB is a standalone software to predict genomic islands in bacterial and archaeal genomes based on the presence of dinucleotide biases and mobility genes. -8. [digIS](https://github.com/janka2012/digIS). +9. [digIS](https://github.com/janka2012/digIS). + digIS is a command-line tool for detection of insertion sequences (IS) in prokaryotic genomes. +10. [Integron Finder](https://github.com/gem-pasteur/Integron_Finder). + + a command line tool to identity integrons in DNA sequences ### Prediction thresholds @@ -231,4 +250,12 @@ knitr::include_graphics(gi_image) ``` ```{r, digis_conditional_block_2, echo=FALSE, results='asis', eval=digis_null, child='no_digis.Rmd'} +``` + +## Integron detection + +```{r, integronfinder_conditional_block, echo=FALSE, results='asis', eval=integronfinder_not_null, child='yes_integronfinder.Rmd'} +``` + +```{r, integronfinder_conditional_block_2, echo=FALSE, results='asis', eval=integronfinder_null, child='no_integronfinder.Rmd'} ``` \ No newline at end of file diff --git a/docker/renv/reports/yes_digis.Rmd b/docker/renv/reports/yes_digis.Rmd index c3aedaa3..b52eccc0 100644 --- a/docker/renv/reports/yes_digis.Rmd +++ b/docker/renv/reports/yes_digis.Rmd @@ -11,7 +11,7 @@ Insertions sequences have been predicted with [digIS](https://github.com/janka20 > The program is executed **with** the GenBank annotation
-(#tab:write-table-ices-full) Insertions sequences predicted by digIS in GFF format. +(#tab:write-table-digis-full) Insertions sequences predicted by digIS in GFF format. ```{r} datatable(digis_gff, escape = FALSE, diff --git a/docker/renv/reports/yes_integronfinder.Rmd b/docker/renv/reports/yes_integronfinder.Rmd new file mode 100644 index 00000000..164e7137 --- /dev/null +++ b/docker/renv/reports/yes_integronfinder.Rmd @@ -0,0 +1,12 @@ +Integrons have been predicted with [Integron Finder](https://github.com/gem-pasteur/Integron_Finder). More information on how the software operates can be found in its [paper](https://www.mdpi.com/2076-2607/10/4/700). + +
+(#tab:write-table-integronfinder-full) Integrons predicted by Integron Finder in GFF format. +```{r} +datatable(integronfinder_gff, + escape = FALSE, + filter = 'top', + options = dt_opt_lst, + extensions = 'Buttons', + rownames = F) +``` \ No newline at end of file diff --git a/docker/renv/reports/yes_plasmids.Rmd b/docker/renv/reports/yes_plasmids.Rmd index b01dd20f..7af439d9 100644 --- a/docker/renv/reports/yes_plasmids.Rmd +++ b/docker/renv/reports/yes_plasmids.Rmd @@ -54,4 +54,30 @@ datatable(results, columnDefs = list(list(visible=FALSE, targets=c(1,2)))), extensions = 'Buttons', rownames = F) +``` + +### MOB suite (typer) + +[MOB-typer](https://github.com/phac-nml/mob-suite) provides _in silico_ predictions of the replicon family, relaxase type, mate-pair formation type and predicted transferability of the plasmid. Using a combination of biomarkers and MOB-cluster codes, it will also provide an observed host-range of your plasmid based on its replicon, relaxase and cluster assignment. This is combined with information mined from the literature to provide a prediction of the taxonomic rank at which the plasmid is likely to be stably maintained but it does not provide source attribution predictions. + +* The complete results can be found in the directory `plasmids/mob_suite` under the main output directory. + +(#tab:mobsuite-results) In silico typing of plasmids with MOB suite +```{r} +results <- mobsuite_tsv + +# Render dt +datatable(results, + escape = FALSE, + filter = 'top', + options = list(pageLength = 5, + lengthMenu = c(5, 10, 15, 20, 50), + dom='flrtBip', + buttons = c('copy', 'csv', 'excel', 'colvis'), + scrollX = TRUE, + fixedColumns = FALSE, + autoWidth = TRUE, + columnDefs = list(list(visible=FALSE, targets=c(1,2)))), + extensions = 'Buttons', + rownames = F) ``` \ No newline at end of file diff --git a/docker/renv/scripts/rscripts/gff2sql.R b/docker/renv/scripts/rscripts/gff2sql.R deleted file mode 100644 index 61eac29d..00000000 --- a/docker/renv/scripts/rscripts/gff2sql.R +++ /dev/null @@ -1,139 +0,0 @@ -#!/usr/bin/Rscript -doc <- 'usage: gff2sql.R [--input= --out= --fasta= --nucleotide= --aminoacid=] - -options: - -i, --input= GFF file to transform in SQL - -o, --out= SQL database name to output [default: out.sql] - -n, --nucleotide= Takes in the nucleotide FASTA. - -a, --aminoacid= Takes in the protein FASTA - -f, --fasta= Takes in the genome FASTA' - -# Loading required packages -suppressMessages(library("docopt")) -suppressMessages(library(RSQLite)) -suppressMessages(library(dplyr)) -suppressMessages(library(stringr)) -suppressMessages(library(DataCombine)) -suppressMessages(library(Biostrings)) - -# Parse help -opt <- docopt(doc) - -# Useful functions -## Query the 9th column -getAttributeField <- function (x, field, attrsep = ";") { - s = strsplit(x, split = attrsep, fixed = TRUE) - sapply(s, function(atts) { - a = strsplit(atts, split = "=", fixed = TRUE) - m = match(field, sapply(a, "[", 1)) - if (!is.na(m)) { rv = a[[m]][2] - } - else { - rv = as.character(NA) - } - return(rv) - }) -} - -## Add table to SQL db -addTable <- function (con, sql, input) { - ## Open db - suppressWarnings(dbBegin(con)) - - ## Send rule - res <- suppressWarnings(dbSendQuery(con, sql)) - - ## Insert data based on rule - suppressWarnings(dbBind(res, input)) - suppressWarnings(dbFetch(res)) - suppressWarnings(dbClearResult(res)) - - ## Close db - suppressWarnings(dbCommit(con)) -} - -# Loading SQL database driver -drv <- dbDriver("SQLite") -dbname <- file.path("/work", opt$out) -con <- dbConnect(drv, dbname=dbname) - -##################################### -### First STEP load GENOME to sql ### -##################################### -fastaFile <- readDNAStringSet(opt$fasta) -seq_name = names(fastaFile) -#sequence = paste(fastaFile) -sequence_len = sapply(fastaFile, function(x) { - length(x)[[1]] -}) -genome <- data.frame(seq_name, sequence_len) -names(genome) <- c("Contig", "Length") - -# Create SQL table for the genome sequence -suppressWarnings(dbGetQuery(con, "CREATE Table Genome (Contig TEXT, Length TEXT)")) -# Create sql rule -sql <- "INSERT INTO Genome VALUES ($Contig, $Length)" -# Add to SQL db -addTable(con, sql, genome) - -################################### -### Second STEP load GFF to sql ### -################################### - -# Loading GFF file -gff <- read.delim(opt$input, header = FALSE, stringsAsFactors = FALSE) -# Give data a header -names(gff) <- c("chr", "source", "feature", "start", "end", "score", "strand", "frame", "attributes") -# Get IDs -gff$ID <- getAttributeField(as.character(gff$attributes), "ID", ";") -# Reorder columns -gff <- gff %>% select(chr, source, ID, feature, start, end, score, strand, frame, attributes) -# Create SQL table to store GFF data -suppressWarnings(dbGetQuery(con, "CREATE Table GFF (Contig TEXT, Source TEXT, ID TEXT, Feature TEXT, - Start INTEGER, End INTEGER, Score INTEGER, Strand TEXT, - Frame INTEGER, Attributes TEXT)")) -# Create sql rule -sql <- "INSERT INTO GFF VALUES ($chr, $source, $ID, $feature, -$start, $end, $score, $strand, $frame, $attributes)" -# Add to SQL db -addTable(con, sql, gff) - -############################################## -### Third STEP load gene nucl fasta to sql ### -############################################## - -## Loading Protein fasta -genes <- readAAStringSet(opt$aminoacid) -gene_ids <- sapply(names(genes), function(x) { - unlist(strsplit(as.character(x), " "))[1] -}) -gene_desc <- sapply(names(genes), function(x) { - paste0(unlist(strsplit(as.character(x), " "))[-1], collapse = " ") -}) -sequences = paste(genes) -genes_aa <- data.frame(gene_ids, gene_desc, sequences) -names(genes_aa) <- c("ID", "Description", "Sequence") -## Create SQL table to store Protein FASTA -suppressWarnings(dbGetQuery(con, "CREATE Table ProteinFasta (ID TEXT, Description TEXT, Sequence TEXT)")) -## Create sql rule -sql <- "INSERT INTO ProteinFasta VALUES ($ID, $Description, $Sequence)" -# Add to SQL db -addTable(con, sql, genes_aa) - -## Loading Nucleotide fasta -genes <- readDNAStringSet(opt$nucleotide) -gene_ids <- sapply(names(genes), function(x) { - unlist(strsplit(as.character(x), " "))[1] -}) -gene_desc <- sapply(names(genes), function(x) { - paste0(unlist(strsplit(as.character(x), " "))[-1], collapse = " ") -}) -sequences = paste(genes) -genes_ncl <- data.frame(gene_ids, gene_desc, sequences) -names(genes_ncl) <- c("ID", "Description", "Sequence") -## Create SQL table to store Protein FASTA -suppressWarnings(dbGetQuery(con, "CREATE Table NucleotideFasta (ID TEXT, Description TEXT, Sequence TEXT)")) -## Create sql rule -sql <- "INSERT INTO NucleotideFasta VALUES ($ID, $Description, $Sequence)" -# Add to SQL db -addTable(con, sql, genes_ncl) diff --git a/docker/set_version.sh b/docker/set_version.sh index b082ce7f..f02bd27e 100644 --- a/docker/set_version.sh +++ b/docker/set_version.sh @@ -1 +1 @@ -export NEW_VERSION=v3.2 +export NEW_VERSION=v3.3 diff --git a/docs/config.md b/docs/config.md index 00664232..9aebaa19 100644 --- a/docs/config.md +++ b/docs/config.md @@ -13,191 +13,5 @@ Default configuration --------------------- ```groovy -/* - - Required / Default Parameters. - This parameters must always be set - -*/ -params { - - /* - - DB DOWNLOAD WORKFLOW - - */ - -// Trigger database download and formatting workflow? --> will not run annotation -// Will download and format a database inside {output} parameter - get_dbs = false - force_update = false - - /* - - ANNOTATION INPUTS - - */ - -// Input data mus be given inside a well-formated samplesheet. -// We provide a well-formated example at: https://github.com/fmalmeida/test_datasets/raw/main/bacannot_testing_samplesheets/samplesheet.yaml -// -// Please read the example samplesheet so you can understand how to properly fill it. -// -// It is also documented in the main manual: https://bacannot.readthedocs.io/en/latest/samplesheet - input = null - -// path to directory containing databases used by bacannot -// you can download databases with: -// nextflow run fmalmeida/bacannot --get_dbs --output bacannot_dbs -profile - bacannot_db = null - - /* - - GENERAL PARAMETERS - - */ - -// Main output folder name. More than one bacannot annotation can be redirected -// to the same output parameter. It is good to keep related annotations together. -// A subdirectory with the filename will be created inside this directory. - output = 'results' - -// Number of minimum overlapping base pairs required for merging -// Negative values, such as -20, means the number of required overlapping bases for merging. -// Positive values, such as 5, means the maximum distance accepted between features for merging. -// By default (if Blank), this process is not executed. For execution the user needs to provide a value - bedtools_merge_distance = null - - /* - * Bakta optional - */ -// If user set path to an existing bakta database, the pipeline will use bakta instead of prokka - bakta_db = null - - /* - * Prokka optional parameters - */ -// Include comprehensive PGAP hmm database in prokka annotation instead of TIGRFAM. -// PGAP is big and using it may have higher running times but better results - prokka_use_pgap = false - -// Annotation mode: Archaea|Bacteria|Mitochondria|Viruses (default 'Bacteria') - prokka_kingdom = null - -// Translation table code. Must be set if the above is set. -// Example: params.prokka_genetic.code = 11 - prokka_genetic_code = null - -// Use rnammer instead of Barrnap? False or True? - prokka_use_rnammer = false - - /* - * Resfinder species panel - */ - -// Species panel to be used when annotating with Resfinder. -// It sets a default for all samples in the samplesheet. -// If a sample has a different value inside the samplesheet it will overwrite the value for that sample -// If blank it will not be executed. -// It must be identical (without the *) as written in their webservice https://cge.cbs.dtu.dk/services/ResFinder/. -// E.g. 'Escherichia coli'; 'Klebsiella' ... - resfinder_species = null - - /* - * Handling the execution of processes - * - * By default, all processes are executed. These - * parameters tells wheter NOT to run a process. - * - * Which means: false will allow its execution - * while true will create a barrier and skip a process. - */ -// (NOT RUN?) Plasmids annotation (controls PlasmidFinder execution) - skip_plasmid_search = false - -// (NOT RUN?) General Virulence annotation (controls VFDB and Victors scan) - skip_virulence_search = false - -// (NOT RUN?) Resistance annotation (controls AMRfinder and RGI) - skip_resistance_search = false - -// (NOT RUN?) ICE annotation (controls ICEberg annotation) - skip_iceberg_search = false - -// (NOT RUN?) prophage annotation (controls PHAST and Phigaro) - skip_prophage_search = false - -// (NOT RUN?) KO (KEGG Orthology) annotation - skip_kofamscan = false - -// (NOT RUN?) antiSMASH (secondary metabolite) annotation - skip_antismash = false - - /* - * Custom databases can be used to annotate additional genes in the genome. - * It runs a BLAST alignment against the genome, therefore, the custom database - * More than one custom database can be given separated by commas. - * Gene headers must be properly formated as described in the - * documentation: https://bacannot.readthedocs.io/en/latest/custom-db - */ -// Custom fastas (PROT / NUCL) - custom_db = null -// Custom annotation using list of NCBI protein accs - ncbi_proteins = null - - /* - * Annotation thresholds to be used when scanning specific databases and features - * Select a combination of thresholds that is meaningful for your data. Some of - * the databases are protein-only, others are nucleotide only. We cannnot control - * that and the databases will be scanned either if blastp or blastn using these - * thresholds described here. - */ - -// Identity threshold for plasmid annotation - plasmids_minid = 90 - -// Coverage threshold for plasmid annotation - plasmids_mincov = 60 - -// Virulence genes identity threshold - blast_virulence_minid = 90 - -// Virulence genes coverage threshold - blast_virulence_mincov = 90 - -// AMR genes identity threshold - blast_resistance_minid= 90 - -// AMR genes coverage threshold - blast_resistance_mincov = 90 - -// MGEs (ICEs and Phages) identity threshold - blast_MGEs_minid = 85 - -// MGEs (ICEs and Phages) coverage threshold - blast_MGEs_mincov = 85 - -// User's custom database identity threshold - blast_custom_minid = 65 - -// User's custom database coverage threshold - blast_custom_mincov = 65 - - /* - * Resources allocation configuration - * Defaults only, expecting to be overwritten - */ -// Select versions of bioconda quay.io additional tools -// Tools that are not part of the core of the pipeline, -// but can eventually be used by users - unicycler_version = '0.4.8--py38h8162308_3' - flye_version = '2.9--py39h39abbe0_0' - bakta_version = '1.6.1--pyhdfd78af_0' - -// Max resource options - max_memory = '20.GB' - max_cpus = 16 - max_time = '40.h' - -} +{% include 'defaults.config' %} ``` \ No newline at end of file diff --git a/docs/defaults.config b/docs/defaults.config new file mode 100644 index 00000000..0d43fe48 --- /dev/null +++ b/docs/defaults.config @@ -0,0 +1,191 @@ +/* + + Required / Default Parameters. + This parameters must always be set + +*/ +params { + + /* + + DB DOWNLOAD WORKFLOW + + */ + +// Trigger database download and formatting workflow? --> will not run annotation +// Will download and format a database inside {output} parameter + get_dbs = false + force_update = false + get_zenodo_db = false // download pre-built database + + /* + + ANNOTATION INPUTS + + */ + +// Input data mus be given inside a well-formated samplesheet. +// We provide a well-formated example at: https://github.com/fmalmeida/test_datasets/raw/main/bacannot_testing_samplesheets/samplesheet.yaml +// +// Please read the example samplesheet so you can understand how to properly fill it. +// +// It is also documented in the main manual: https://bacannot.readthedocs.io/en/latest/samplesheet + input = null + +// Enable reads deduplication for assembly? (If input has reads) + enable_deduplication = false + +// path to directory containing databases used by bacannot +// you can download databases with: +// nextflow run fmalmeida/bacannot --get_dbs --output bacannot_dbs -profile + bacannot_db = null + + /* + + GENERAL PARAMETERS + + */ + +// Main output folder name. More than one bacannot annotation can be redirected +// to the same output parameter. It is good to keep related annotations together. +// A subdirectory with the filename will be created inside this directory. + output = 'results' + +// Number of minimum overlapping base pairs required for merging +// Negative values, such as -20, means the number of required overlapping bases for merging. +// Positive values, such as 5, means the maximum distance accepted between features for merging. +// By default (if Blank), this process is not executed. For execution the user needs to provide a value + bedtools_merge_distance = null + + /* + * Bakta optional + */ +// If user set path to an existing bakta database, the pipeline will use bakta instead of prokka + bakta_db = null + + /* + * Prokka optional parameters + */ +// Include comprehensive PGAP hmm database in prokka annotation instead of TIGRFAM. +// PGAP is big and using it may have higher running times but better results + prokka_use_pgap = false + +// Annotation mode: Archaea|Bacteria|Mitochondria|Viruses (default 'Bacteria') + prokka_kingdom = null + +// Translation table code. Must be set if the above is set. +// Example: params.prokka_genetic.code = 11 + prokka_genetic_code = null + +// Use rnammer instead of Barrnap? False or True? + prokka_use_rnammer = false + + /* + * Resfinder species panel + */ + +// Species panel to be used when annotating with Resfinder. +// It sets a default for all samples in the samplesheet. +// If a sample has a different value inside the samplesheet it will overwrite the value for that sample +// If blank it will not be executed. +// It must be identical (without the *) as written in their webservice https://cge.cbs.dtu.dk/services/ResFinder/. +// E.g. 'Escherichia coli'; 'Klebsiella' ... + resfinder_species = null + + /* + * Handling the execution of processes + * + * By default, all processes are executed. These + * parameters tells wheter NOT to run a process. + * + * Which means: false will allow its execution + * while true will create a barrier and skip a process. + */ +// (NOT RUN?) Plasmids annotation (controls PlasmidFinder execution) + skip_plasmid_search = false + +// (NOT RUN?) General Virulence annotation (controls VFDB and Victors scan) + skip_virulence_search = false + +// (NOT RUN?) Resistance annotation (controls AMRfinder and RGI) + skip_resistance_search = false + +// (NOT RUN?) ICE annotation (controls ICEberg annotation) + skip_iceberg_search = false + +// (NOT RUN?) prophage annotation (controls PHAST and Phigaro) + skip_prophage_search = false + +// (NOT RUN?) KO (KEGG Orthology) annotation + skip_kofamscan = false + +// (NOT RUN?) antiSMASH (secondary metabolite) annotation + skip_antismash = false + + /* + * Custom databases can be used to annotate additional genes in the genome. + * It runs a BLAST alignment against the genome, therefore, the custom database + * More than one custom database can be given separated by commas. + * Gene headers must be properly formated as described in the + * documentation: https://bacannot.readthedocs.io/en/latest/custom-db + */ +// Custom fastas (PROT / NUCL) + custom_db = null +// Custom annotation using list of NCBI protein accs + ncbi_proteins = null + + /* + * Annotation thresholds to be used when scanning specific databases and features + * Select a combination of thresholds that is meaningful for your data. Some of + * the databases are protein-only, others are nucleotide only. We cannnot control + * that and the databases will be scanned either if blastp or blastn using these + * thresholds described here. + */ + +// Identity threshold for plasmid annotation + plasmids_minid = 90 + +// Coverage threshold for plasmid annotation + plasmids_mincov = 60 + +// Virulence genes identity threshold + blast_virulence_minid = 90 + +// Virulence genes coverage threshold + blast_virulence_mincov = 90 + +// AMR genes identity threshold + blast_resistance_minid= 90 + +// AMR genes coverage threshold + blast_resistance_mincov = 90 + +// MGEs (ICEs and Phages) identity threshold + blast_MGEs_minid = 85 + +// MGEs (ICEs and Phages) coverage threshold + blast_MGEs_mincov = 85 + +// User's custom database identity threshold + blast_custom_minid = 65 + +// User's custom database coverage threshold + blast_custom_mincov = 65 + + /* + * Resources allocation configuration + * Defaults only, expecting to be overwritten + */ +// Select versions of bioconda quay.io additional tools +// Tools that are not part of the core of the pipeline, +// but can eventually be used by users + unicycler_version = '0.5.0--py310h6cc9453_3' + flye_version = '2.9--py39h6935b12_1' + bakta_version = '1.7.0--pyhdfd78af_1' + +// Max resource options + max_memory = '20.GB' + max_cpus = 16 + max_time = '40.h' + +} diff --git a/docs/index.md b/docs/index.md index 2854ee3b..4cb28ba9 100644 --- a/docs/index.md +++ b/docs/index.md @@ -2,7 +2,7 @@ -[![Cite with Zenodo](http://img.shields.io/badge/DOI-10.5281/zenodo.3627669-1073c8?labelColor=000000)](https://doi.org/10.5281/zenodo.3627669) +[![F1000 Paper](https://img.shields.io/badge/Citation%20F1000-10.12688/f1000research.139488.1-orange)](https://doi.org/10.12688/f1000research.139488.1) [![GitHub release (latest by date including pre-releases)](https://img.shields.io/github/v/release/fmalmeida/bacannot?include_prereleases&label=Latest%20release)](https://github.com/fmalmeida/bacannot/releases) [![Documentation](https://img.shields.io/badge/Documentation-readthedocs-brightgreen)](https://bacannot.readthedocs.io/en/latest/?badge=latest) [![Nextflow](https://img.shields.io/badge/nextflow%20DSL2-%E2%89%A521.10.3-23aa62.svg?labelColor=000000)](https://www.nextflow.io/) @@ -10,6 +10,7 @@ [![run with singularity](https://img.shields.io/badge/run%20with-singularity-1d355c.svg?labelColor=000000)](https://sylabs.io/docs/) [![License](https://img.shields.io/badge/License-GPL%203-black)](https://github.com/fmalmeida/bacannot/blob/master/LICENSE) [![Follow on Twitter](http://img.shields.io/badge/twitter-%40fmarquesalmeida-1DA1F2?labelColor=000000&logo=twitter)](https://twitter.com/fmarquesalmeida) +[![Zenodo Archive](https://img.shields.io/badge/Zenodo-Archive-blue)](https://doi.org/10.5281/zenodo.3627669) ## About @@ -33,8 +34,9 @@ The pipeline's main steps are: | Annotation of virulence genes | [Victors](http://www.phidias.us/victors/) and [VFDB](http://www.mgc.ac.cn/VFs/main.htm) | | Prophage sequences and genes annotation | [PHASTER](http://phast.wishartlab.com/), [Phigaro](https://github.com/bobeobibo/phigaro) and [PhySpy](https://github.com/linsalrob/PhiSpy) | | Annotation of integrative and conjugative elements | [ICEberg](http://db-mml.sjtu.edu.cn/ICEberg/) | +| Annotation of bacterial integrons | [Integron Finder](https://github.com/gem-pasteur/Integron_Finder) | | Focused detection of insertion sequences | [digIS](https://github.com/janka2012/digIS) | -| _In silico_ detection of plasmids | [Plasmidfinder](https://cge.cbs.dtu.dk/services/PlasmidFinder/) and [Platon](https://github.com/oschwengers/platon) | +| _In silico_ detection and typing of plasmids | [Plasmidfinder](https://cge.cbs.dtu.dk/services/PlasmidFinder/), [Platon](https://github.com/oschwengers/platon) and [MOB-typer](https://github.com/phac-nml/mob-suite)| | Prediction and visualization of genomic islands | [IslandPath-DIMOB](https://github.com/brinkmanlab/islandpath) and [gff-toolbox](https://github.com/fmalmeida/gff-toolbox) | | Custom annotation from formatted FASTA or NCBI protein IDs | [BLAST](https://blast.ncbi.nlm.nih.gov/Blast.cgi?PAGE_TYPE=BlastDocs) | | Merge of annotation results | [bedtools](https://bedtools.readthedocs.io/en/latest/) | diff --git a/docs/installation.md b/docs/installation.md index fce8e38f..8035ba43 100644 --- a/docs/installation.md +++ b/docs/installation.md @@ -19,19 +19,30 @@ nextflow pull fmalmeida/bacannot ## Downloading docker images -The custom docker images used by the pipeline are: +> The pipeline uses both custom and public images. +> All images can be downloaded on the fly, automatically by nextflow, and this is the recommended way to do it. + +If you want to download it yourself, you can find all the images used in the pipeline described in the file [docker.config](https://github.com/fmalmeida/bacannot/blob/master/conf/docker.config) (for docker) and [singularity.config](https://github.com/fmalmeida/bacannot/blob/master/conf/singularity.config) (for singularity). + +The images are defined like the following: ```bash -docker pull fmalmeida/bacannot:v3.2_misc ; -docker pull fmalmeida/bacannot:v3.2_perlenv ; -docker pull fmalmeida/bacannot:v3.2_pyenv ; -docker pull fmalmeida/bacannot:v3.2_renv ; -docker pull fmalmeida/bacannot:jbrowse ; +... +withLabel: 'db_download|db_tools|misc' { + container = 'fmalmeida/bacannot@sha256:726e085f1bd71b47c2d8a38fd46d812aab7eb8978bab7bf3cde3aa2b7b3e0f2c' +} +... ``` -> The pipeline also uses other public images available in biocontainers. All images can be downloaded on the fly, automatically be nextflow. +And could be downloaded like this: + +```bash +docker pull fmalmeida/bacannot@sha256:726e085f1bd71b47c2d8a38fd46d812aab7eb8978bab7bf3cde3aa2b7b3e0f2c +``` -!!! info "Using singularity" +> You would need to do it for each image. + +!!! info "If using singularity" **Docker and singularity images are downloaded on the fly**. Be sure to properly set `NXF_SINGULARITY_LIBRARYDIR` env variable to a writable directory if using Singularity. This will make that the downloaded images are reusable through different executions. Read more at: https://www.nextflow.io/docs/latest/singularity.html#singularity-docker-hub @@ -40,18 +51,48 @@ docker pull fmalmeida/bacannot:jbrowse ; ```bash # apply this command to each image # just change the "/" and ":" for "-". - # E.g. Image fmalmeida/bacannot:v3.2_misc becomes fmalmeida-bacannot-v3.2_misc.img - singularity pull --dir $NXF_SINGULARITY_LIBRARYDIR fmalmeida-bacannot-v3.2_misc.img docker://fmalmeida/bacannot:v3.2_misc + # E.g. Image fmalmeida/bacannot:v3.3_misc becomes fmalmeida-bacannot-v3.3_misc.img + singularity pull --dir $NXF_SINGULARITY_LIBRARYDIR fmalmeida-bacannot-v3.3_misc.img docker://fmalmeida/bacannot:v3.3_misc ``` +## Bacannot databases + +Bacannot databases are not inside the docker images anymore to avoid huge images and problems with connections and limit rates with dockerhub. + +### Pre-formatted + +Users can directly download pre-formatted databases from Zenodo: https://doi.org/10.5281/zenodo.7615811 + +Useful for standardization and also overcoming known issues that may arise when formatting databases with `singularity` profile. + +A module to download the latest pre-formatted database has also been made available: + +```bash +# Download pipeline pre-built databases +nextflow run fmalmeida/bacannot \ + --get_zenodo_db \ + --output ./ \ + -profile +``` + +### I want to generate a new formatted database + +```{bash .annotate hl_lines="5"} +# Download pipeline databases +nextflow run fmalmeida/bacannot \ + --get_dbs \ + --output bacannot_dbs \ + -profile +``` + ## Testing your installation After that, you can run the pipeline with a testing dataset by selecting one of the available profiles: 1. Docker - * `nextflow run fmalmeida/mpgap -profile docker,test` + * `nextflow run fmalmeida/mpgap -profile docker,test` --bacannot_db ./bacannot_dbs 2. Singularity - * `nextflow run fmalmeida/mpgap -profile singularity,test` + * `nextflow run fmalmeida/mpgap -profile singularity,test` --bacannot_db ./bacannot_dbs !!! note "About NF profiles" diff --git a/docs/manual.md b/docs/manual.md index e9791743..e42c1227 100644 --- a/docs/manual.md +++ b/docs/manual.md @@ -29,9 +29,10 @@ The pipeline accepts as input two other input files types that are used to perfo ## Input/output options -|
Parameter
| Required | Default | Description | +|
Parameter
| Required | Default | Description | | :--------------------------------------- | :------- | :------ | :---------- | | `--input` | :material-check: | NA | Input samplesheet describing all the samples to be analysed | +| `--enable_deduplication` | :material-close: | false | Run deduplication command on input reads before assembly. Only useful for samples where reads are given instead of a genome fasta. | | `--output` | :material-check: | results | Name of directory to store output values. A sub-directory for each genome will be created inside this main directory. | | `--bacannot_db` | :material-check: | NA | Path for root directory containing required bacannot databases | @@ -45,6 +46,7 @@ The pipeline accepts as input two other input files types that are used to perfo | :--------------------------------------- | :------- | :------ | :---------- | | `--get_dbs` | :material-close: | false | Instead of running the analysis workflow, it will try to download required databases and save them in `--output` | | `--force_update` | :material-close: | false | Instead of only downloading missing databases, download everything again and overwrite. | +| `--get_zenodo_db` | :material-close: | false | Download pre-built databases stored in zenodo. [See quickstart](quickstart.md#). !!! tip "" @@ -88,7 +90,7 @@ The use of this parameter sets a default value for input samples. If a sample ha |
Parameter
| Required | Default | Description | | :--------------------------------------- | :------- | :------ | :---------- | | `--skip_virulence_search` | :material-close: | false | Tells whether not to run virulence factors annotation. It skips both vfdb and victors annotation | -| `--skip_plasmid_search` | :material-close: | false | Tells whether not to run plasmid detection modules | +| `--skip_plasmid_search` | :material-close: | false | Tells whether not to run plasmid detection/typing modules | | `--skip_resistance_search` | :material-close: | false | Tells whether not to run resistance genes annotation modules | | `--skip_iceberg_search` | :material-close: | false | Tells whether not to run mobile genetic elements annotation with ICEberg | | `--skip_prophage_search` | :material-close: | false | Tells whether not to run prophage annotation modules | @@ -131,7 +133,7 @@ Users can now select the version of the non-core tools Bakta, Unicyler and Flye. | Parameter | Default | Description | | :-------- | :------ | :---------- | -| `--bakta_version` | 1.6.1--pyhdfd78af_0 | Bakta tool version | +| `--bakta_version` | 1.7.0--pyhdfd78af_1 | Bakta tool version | | `--flye_version` | 2.9--py39h39abbe0_0 | Flye tool version | | `--unicycler_version` | 0.4.8--py38h8162308_3 | Unicycler tool version | diff --git a/docs/outputs.md b/docs/outputs.md index 92ffc09e..ba350809 100644 --- a/docs/outputs.md +++ b/docs/outputs.md @@ -26,11 +26,12 @@ After a successful execution, you will have something like this: |   ├── gffs # A copy of the main GFF files produced during the annotation |   ├── genomic_islands # Genomic Islands predicted with IslandPath-DIMOB |   ├── ICEs # Results from ICEberg database annotation +|   ├── integron_finder # Results from Integron Finder tool annotation |   ├── jbrowse # The files that set up the JBrowse genome browser |   ├── KOfamscan # Results from annotation with KEGG database |   ├── methylations # Methylated sites predicted with Nanopolish (if fast5 is given) |   ├── MLST # MLST results with mlst pipeline -|   ├── plasmids # Plasmid annotation results from Platon and Plasmidfinder +|   ├── plasmids # Plasmid annotation results from Platon, Plasmidfinder and MOB Suite |   ├── prophages # Prophage annotation results from PhiSpy, Phigaro and PHAST |   ├── refseq_masher # Closest NCBI Resfseq genomes identified with refseq_masher |   ├── report_files # Annotation reports in HTML format diff --git a/docs/quickstart.md b/docs/quickstart.md index 3f68c7f0..42b5ee89 100644 --- a/docs/quickstart.md +++ b/docs/quickstart.md @@ -41,6 +41,13 @@ Users can directly download pre-formatted databases from Zenodo: https://doi.org Useful for standardization and also overcoming known issues that may arise when formatting databases with `singularity` profile. +A module to download the latest pre-formatted database has also been made available: + +```bash +# Download pipeline pre-built databases +nextflow run fmalmeida/bacannot --get_zenodo_db --output ./ -profile +``` + #### I want to generate a new formatted database ```{bash .annotate hl_lines="5"} @@ -95,4 +102,4 @@ nextflow run fmalmeida/bacannot -profile docker,quicktest --bacannot_db ./bacann ### Annotation with bakta -User can also perform the core generic annotation with bakta instead of prokka. Please read [the manual](manual#bakta-annotation). +User can also perform the core generic annotation with bakta instead of prokka. Please read [the manual](manual.md#bakta-annotation). diff --git a/docs/reports/report_MGEs.html b/docs/reports/report_MGEs.html index c85ef8f1..9f6e4eda 100644 --- a/docs/reports/report_MGEs.html +++ b/docs/reports/report_MGEs.html @@ -11,7 +11,7 @@ - + Annotation of mobile genetic elements @@ -4910,7 +4910,7 @@

Annotation of mobile genetic elements

Produced with bacannot pipeline

-

05 May 2023

+

19 March 2023

@@ -4949,6 +4949,11 @@

About

  • Platon detects plasmid contigs within bacterial draft genomes from WGS short-read assemblies.
  • Therefore, Platon analyzes the natural distribution biases of certain protein coding genes between chromosomes and plasmids.
  • +
  • MOB Suite; +
      +
    • Software tools for clustering, reconstruction and typing of plasmids from draft assemblies.
    • +
    • In the pipeline, only the typer tool is used.
    • +
  • IslandPath.
    • IslandPath-DIMOB is a standalone software to predict genomic islands in bacterial and archaeal genomes based on the presence of dinucleotide biases and mobility genes.
    • @@ -4957,6 +4962,10 @@

      About

      • digIS is a command-line tool for detection of insertion sequences (IS) in prokaryotic genomes.
      +
    • Integron Finder. +
        +
      • a command line tool to identity integrons in DNA sequences
      • +
    • Prediction thresholds

      @@ -4995,8 +5004,8 @@

      Plasmidfinder

      Table 1: In silico detection of plasmids with Plasmidfinder -
      - +
      +

      Platon

      @@ -5007,8 +5016,20 @@

      Platon

      Table 2: In silico detection of plasmids with Platon -
      - +
      + +
      +
      +

      MOB suite (typer)

      +

      MOB-typer provides in silico predictions of the replicon family, relaxase type, mate-pair formation type and predicted transferability of the plasmid. Using a combination of biomarkers and MOB-cluster codes, it will also provide an observed host-range of your plasmid based on its replicon, relaxase and cluster assignment. This is combined with information mined from the literature to provide a prediction of the taxonomic rank at which the plasmid is likely to be stably maintained but it does not provide source attribution predictions.

      +
        +
      • The complete results can be found in the directory plasmids/mob_suite under the main output directory.
      • +
      + +Table 3: In silico typing of plasmids with MOB suite + +
      +
      @@ -5018,7 +5039,7 @@

      Prophage detection

      Phigaro

      -

      Phigaro is a standalone command-line application that is able to detect prophage regions taking raw genome and metagenome assemblies as an input. It also produces dynamic annotated “prophage genome maps” and marks possible transposon insertion spots inside prophages. Its results can be nicely visualized in its own html report file stored in its output directory. The genomic regions predicted as putative prophage sequences are also summarized in Table 3.

      +

      Phigaro is a standalone command-line application that is able to detect prophage regions taking raw genome and metagenome assemblies as an input. It also produces dynamic annotated “prophage genome maps” and marks possible transposon insertion spots inside prophages. Its results can be nicely visualized in its own html report file stored in its output directory. The genomic regions predicted as putative prophage sequences are also summarized in Table 4.

      • Check it out at:
          @@ -5028,37 +5049,37 @@

          Phigaro


        -Table 3: Putative prophage sequences annotated with phigaro software +Table 4: Putative prophage sequences annotated with phigaro software -
        - +
        +

      PhiSpy

      -

      PhiSpy is a standalone tool that identifies prophages in Bacterial (and probably Archaeal) genomes. Given an annotated genome it will use several approaches to identify the most likely prophage regions. The genomic regions predicted as putative prophage sequences are also summarized in Table 4.

      +

      PhiSpy is a standalone tool that identifies prophages in Bacterial (and probably Archaeal) genomes. Given an annotated genome it will use several approaches to identify the most likely prophage regions. The genomic regions predicted as putative prophage sequences are also summarized in Table 5.

      • Check the results at prophages/phispy in the main output directory

      -Table 4: Putative prophage sequences annotated with phispy software +Table 5: Putative prophage sequences annotated with phispy software -
      - +
      +

      PHAST database

      -

      All prophage genes from PHAST database that had good alignments to the genes of the query genome are summarized in Table 5. The protein sequences of these genes were aligned against the gene sequences predicted by Prokka via BLASTp. They are all available in the genome browser provided. A good way to interrogate this annotation is to visualize the putative prophage regions predicted by phigaro and phispy interpolating it with the prophage gene annotation provided with phast database.

      +

      All prophage genes from PHAST database that had good alignments to the genes of the query genome are summarized in Table 6. The protein sequences of these genes were aligned against the gene sequences predicted by Prokka via BLASTp. They are all available in the genome browser provided. A good way to interrogate this annotation is to visualize the putative prophage regions predicted by phigaro and phispy interpolating it with the prophage gene annotation provided with phast database.

      Unfortunately, PHASTER database have no searchable interface to visualize its prophages. Therefore, this table has no links to external sources.

      -Table 5: Prophage genes annotated using PHAST database via BLASTp +Table 6: Prophage genes annotated using PHAST database via BLASTp -
      - +
      +
      @@ -5068,28 +5089,28 @@

      ICEberg database

      Analysis of full-length ICEs

      -

      Full-length ICEs are available at ICEberg database in nucleotide fastas while the proteins found inside these ICEs are in protein fastas. Since the ICEfinder script has no licenses to be incorporated to the pipeline, we try to search for the full-length ICEs. However, they are very difficult to be completely found in new genomes, thus they are scanned without coverage or identity thresholds. The filtering and selection of these is up to you. We have found a total of 35 alignments in the query genome, check it out in table 6.

      +

      Full-length ICEs are available at ICEberg database in nucleotide fastas while the proteins found inside these ICEs are in protein fastas. Since the ICEfinder script has no licenses to be incorporated to the pipeline, we try to search for the full-length ICEs. However, they are very difficult to be completely found in new genomes, thus they are scanned without coverage or identity thresholds. The filtering and selection of these is up to you. We have found a total of 35 alignments in the query genome, check it out in table 7.

      Users are advised to also use the ICEfinder tool to predict the putative genomic position of known ICEs since we are not allowed to include this step under this pipeline.


      -Table 6: Alignment of full-length ICEs to the query genome via BLASTn +Table 7: Alignment of full-length ICEs to the query genome via BLASTn -
      - +
      +

      Analysis of ICE’s proteins

      -

      All query genes predicted by Prokka that have a match in ICEberg database are shown in Table 7. It is summarized the ICE id and all its genes that were found in the query genome. All of them are linked to the database for further investigations.

      +

      All query genes predicted by Prokka that have a match in ICEberg database are shown in Table 8. It is summarized the ICE id and all its genes that were found in the query genome. All of them are linked to the database for further investigations.

      Take note: The fact that the genome possess some proteins from ICEs does not necessarily means that the ICE is present in the genome. Please, check the number of proteins that the ICE of origin posses in the ICEberg database list of ICEs, and then make inferences based one the alignments you see.

      Users are advised to also use the ICEfinder tool to predict the putative genomic position of known ICEs since we are not allowed to include this step under this pipeline.


      -Table 7: ICE genes annotated from ICEberg database via BLASTp +Table 8: ICE genes annotated from ICEberg database via BLASTp -
      - +
      +
      The number of genes from known ICEs (from [ICEberg](https://bioinfo-mml.sjtu.edu.cn/ICEberg2/index.php)) found in the query genome

      @@ -5115,10 +5136,14 @@

      IS detection


      -Table 6: Insertions sequences predicted by digIS in GFF format. +Table 9: Insertions sequences predicted by digIS in GFF format. -
      - +
      + +
      +
      +

      Integron detection

      +

      Not a integron have been predicted with Integron Finder. This might have happened either because your genome really do not have integron sequences or due to misassemblies. You can always try to run the online version of the tool: https://integronfinder.readthedocs.io/en/latest/user_guide/webserver.html

      diff --git a/docs/reports/report_general.html b/docs/reports/report_general.html index 911d15e7..d005400b 100644 --- a/docs/reports/report_general.html +++ b/docs/reports/report_general.html @@ -11,7 +11,7 @@ - + Generic annotation @@ -4910,7 +4910,7 @@

      Generic annotation

      Produced with bacannot pipeline

      -

      05 May 2023

      +

      19 March 2023

      @@ -4924,14 +4924,14 @@

      About

      RefSeq Masher

      RefSeq Masher is a tool that enables to rapidly find what NCBI RefSeq genomes match or are contained within your sequence data using Mash MinHash with a Mash sketch database of NCBI RefSeq Genomes. The results are shown below (bacannot outputs only the top 10).

      -
      - +
      +

      MLST

      Bacannot uses the mlst package to scan the PubMLST schemes available in order to classify the genome under public multilocus sequence type schemes. The results for ecoli are shown below.

      -
      - +
      +

      Prokka

      @@ -4939,21 +4939,21 @@

      Prokka

      In bacannot, when using prokka, the prokka database is incremented with either TIGRFAM hmm hosted at NCBI or with the extensive PGAP hmm database hosted at NCBI with the parameter --prokka_use_pgap is used.

      -
      - +
      +

      Barrnap

      Barrnap is a fast Ribosomal RNA predictor for bacterias, from the same developer of Prokka. It is fast and produces a GFF of the predicted rRNAs (See below).

      -
      - +
      +

      KEGG KOs

      KEGG KOs are annotated with KofamScan, which is a gene function annotation tool based on KEGG Orthology and hidden Markov model. You need KOfam database to use this tool. Online version is available on https://www.genome.jp/tools/kofamkoala/.

      After annotation, the results are plotted with KEGGDecoder (See below).
      -KEGGDecoder heatmap of KofamScan annotation results. +KEGGDecoder heatmap of KofamScan annotation results.

      Figure 1: KEGGDecoder heatmap of KofamScan annotation results.

      diff --git a/docs/reports/report_resistance.html b/docs/reports/report_resistance.html index 073b7637..653209ae 100644 --- a/docs/reports/report_resistance.html +++ b/docs/reports/report_resistance.html @@ -11,7 +11,7 @@ - + Annotation of amr determinants @@ -4910,7 +4910,7 @@

      Annotation of amr determinants

      Produced with bacannot pipeline

      -

      05 May 2023

      +

      19 March 2023

      @@ -4981,11 +4981,11 @@

      CARD RGI

      Table 1: RGI annotation results. The perfect hits are highlighted in yellow while the strict hits in light blue. -
      - +
      +


      -RGI's phenotype prediction. AMR genes are listed in alphabetical order and unique resistome profiles are displayed with their frequency. Yellow represents a perfect hit, Blue-green represents a strict hit. +RGI's phenotype prediction. AMR genes are listed in alphabetical order and unique resistome profiles are displayed with their frequency. Yellow represents a perfect hit, Blue-green represents a strict hit.

      Figure 1: RGI’s phenotype prediction. AMR genes are listed in alphabetical order and unique resistome profiles are displayed with their frequency. Yellow represents a perfect hit, Blue-green represents a strict hit.

      @@ -5019,8 +5019,8 @@

      Supporting Data

      Table 2: Resistance genes annotated from NCBI AMR curated database using AMRfinderplus -
      - +
      +
      Resistome Predicted using NCBI's AMRFinderplus

      @@ -5040,8 +5040,8 @@

      BLAST summary

      Table 3: Resistance genes detected using ARGminer database via BLASTp -
      - +
      +
      @@ -5053,8 +5053,8 @@

      Prokka

      Table 4: Generic annotation of resistance determinants by Prokka -
      - +
      +
      diff --git a/docs/reports/report_virulence.html b/docs/reports/report_virulence.html index 05b9a600..1ddc92c4 100644 --- a/docs/reports/report_virulence.html +++ b/docs/reports/report_virulence.html @@ -11,7 +11,7 @@ - + Annotation of virulence factors @@ -4910,7 +4910,7 @@

      Annotation of virulence factors

      Produced with bacannot pipeline

      -

      05 May 2023

      +

      19 March 2023

      @@ -4990,8 +4990,8 @@

      Detailed information

      Table 1: Virulence factors annotated using the VFDB database via BLASTn -
      - +
      +
      @@ -5003,8 +5003,8 @@

      Victors

      Table 2: Virulence factors annotated using the Victors database via BLASTp -
      - +
      +
      diff --git a/docs/requirements.txt b/docs/requirements.txt index d5ff7eda..42c51dbf 100644 --- a/docs/requirements.txt +++ b/docs/requirements.txt @@ -14,4 +14,5 @@ mergedeep>=1.3.4 colorama>=0.4; platform_system == 'Windows' mkdocs-pymdownx-material-extras mkdocs-git-revision-date-plugin -mkdocs-material \ No newline at end of file +mkdocs-material +mkdocs-macros-plugin \ No newline at end of file diff --git a/lib/WorkflowBacannot.groovy b/lib/WorkflowBacannot.groovy index 94e05db2..527e14c0 100755 --- a/lib/WorkflowBacannot.groovy +++ b/lib/WorkflowBacannot.groovy @@ -10,8 +10,20 @@ class WorkflowBacannot { public static void initialise(params, log) { // input has been given and user does not want to download databases? - if (!params.input && !params.get_dbs) { - log.error "Please provide an input samplesheet to the pipeline e.g. '--input samplesheet.yml'. Or select the download databases mode with --get_dbs." + if (!params.input && !params.get_dbs && !params.get_zenodo_db) { + log.error "Please provide an input samplesheet to the pipeline e.g. '--input samplesheet.yml'. Or select the download databases mode with --get_dbs or --get_zenodo_db" + System.exit(1) + } + + // using incompatible parameters? + if (params.input && (params.get_dbs || params.get_zenodo_db)) { + log.error "Not possible to run (--input) the pipeline and try to download databases (--get_dbs or --get_zenodo_db). Please do one or another." + System.exit(1) + } + + // input has been given and user does not want to download databases? + if (params.get_dbs && params.get_zenodo_db) { + log.error "Please select either --get_dbs or --get_zenodo_db, not both at the same time." System.exit(1) } diff --git a/lib/WorkflowMain.groovy b/lib/WorkflowMain.groovy index 7531147f..6ccb1c75 100755 --- a/lib/WorkflowMain.groovy +++ b/lib/WorkflowMain.groovy @@ -10,7 +10,7 @@ class WorkflowMain { public static String citation(workflow) { return "If you use ${workflow.manifest.name} for your analysis please cite:\n\n" + "* The pipeline\n" + - " https://doi.org/10.5281/zenodo.3627669\n\n" + + " https://doi.org/10.12688/f1000research.139488.1\n\n" + "* The nf-core framework\n" + " https://doi.org/10.1038/s41587-020-0439-x\n\n" + "* Software dependencies\n" + @@ -74,6 +74,30 @@ class WorkflowMain { System.exit(0) } + // Download docker config + if (params.get_docker_config) { + new File("docker.config").write(new URL ("https://github.com/fmalmeida/bacannot/raw/master/conf/docker.config").getText()) + log.info """ + docker.config file saved in working directory + After configuration, run: + nextflow run fmalmeida/bacannot -c ./docker.config + Nice code + """.stripIndent() + System.exit(0) + } + + // Download singularity config + if (params.get_singularity_config) { + new File("singularity.config").write(new URL ("https://github.com/fmalmeida/bacannot/raw/master/conf/singularity.config").getText()) + log.info """ + singularity.config file saved in working directory + After configuration, run: + nextflow run fmalmeida/bacannot -c ./singularity.config + Nice code + """.stripIndent() + System.exit(0) + } + // Validate workflow parameters via the JSON schema if (params.validate_params) { NfcoreSchema.validateParameters(workflow, params, log) diff --git a/main.nf b/main.nf index f86a7eb3..7c8421ef 100644 --- a/main.nf +++ b/main.nf @@ -36,7 +36,7 @@ include { CREATE_DBS } from './workflows/bacannot_dbs.nf' workflow { - if (params.get_dbs) { + if (params.get_dbs || params.get_zenodo_db) { CREATE_DBS() } else { if (params.input) { diff --git a/markdown/CHANGELOG.md b/markdown/CHANGELOG.md index b47caeed..c5bbbec5 100644 --- a/markdown/CHANGELOG.md +++ b/markdown/CHANGELOG.md @@ -2,6 +2,20 @@ The tracking for changes started in v2.1 +## v3.3 [01-October-2023] + +* [[#50](https://github.com/fmalmeida/bacannot/issues/50)] -- Add `Integron Finder` tool to the pipeline +* [[#69](https://github.com/fmalmeida/bacannot/issues/69)] -- Change how tools use docker images in order to: + * make tools use public bioconda images whenever possible to allow easy addition of tools and avoid much conflicts in docker images + * dimish the size and tools inside the docker images, the docker images now are only built to contain tools and all required for modules that cannot just use bioconda docker images. +* [[#81](https://github.com/fmalmeida/bacannot/issues/81)] -- Add `MOB Suite` tool to the pipeline +* [[#85](https://github.com/fmalmeida/bacannot/issues/85)] -- Include checkup on header size for Prokka +* [[#98](https://github.com/fmalmeida/bacannot/issues/98)] -- Add ICEberg and PHAST blastp results to json summary +* [[#100](https://github.com/fmalmeida/bacannot/issues/100)] -- Update pipeline to use docker shasum instead of tags +* [[#107](https://github.com/fmalmeida/bacannot/issues/107)] -- Add a parameter, `--enable_deduplication` for deduplicating input reads before assembly +* Update unicycler docker image to latest '0.5.0--py310h6cc9453_3' to avoid errors originated from previous image containing buggy installation. +* Other minor changes / updates highlited in [[#93](https://github.com/fmalmeida/bacannot/pull/93)] + ## v3.2 [19-December-2022] * Fixes https://github.com/fmalmeida/bacannot/issues/68 reported by @lam-c diff --git a/markdown/list_of_tools.md b/markdown/list_of_tools.md index 68d4bf21..27a1727a 100644 --- a/markdown/list_of_tools.md +++ b/markdown/list_of_tools.md @@ -16,10 +16,12 @@ These are the tools that wrapped inside bacannot. **Cite** the tools whenever yo | Annotation of virulence genes | [Victors](http://www.phidias.us/victors/) and [VFDB](http://www.mgc.ac.cn/VFs/main.htm) | | Prophage sequences and genes annotation | [PHASTER](http://phast.wishartlab.com/), [Phigaro](https://github.com/bobeobibo/phigaro) and [PhySpy](https://github.com/linsalrob/PhiSpy) | | Annotation of integrative and conjugative elements | [ICEberg](http://db-mml.sjtu.edu.cn/ICEberg/) | +| Annotation of bacterial integrons | [Integron Finder](https://github.com/gem-pasteur/Integron_Finder) | | Focused detection of insertion sequences | [digIS](https://github.com/janka2012/digIS) | -| _In silico_ detection of plasmids | [Plasmidfinder](https://cge.cbs.dtu.dk/services/PlasmidFinder/) and [Platon](https://github.com/oschwengers/platon) | +| _In silico_ detection and typing of plasmids | [Plasmidfinder](https://cge.cbs.dtu.dk/services/PlasmidFinder/), [Platon](https://github.com/oschwengers/platon) and [MOB-typer](https://github.com/phac-nml/mob-suite)| | Prediction and visualization of genomic islands | [IslandPath-DIMOB](https://github.com/brinkmanlab/islandpath) and [gff-toolbox](https://github.com/fmalmeida/gff-toolbox) | | Custom annotation from formatted FASTA or NCBI protein IDs | [BLAST](https://blast.ncbi.nlm.nih.gov/Blast.cgi?PAGE_TYPE=BlastDocs) | | Merge of annotation results | [bedtools](https://bedtools.readthedocs.io/en/latest/) | | Genome Browser renderization | [JBrowse](http://jbrowse.org/) | +| Circos plot generation | [easy_circos](https://easy_circos.readthedocs.io/en/latest/index.html) | | Renderization of automatic reports and shiny app for results interrogation | [R Markdown](https://rmarkdown.rstudio.com/), [Shiny](https://shiny.rstudio.com/) and [SequenceServer](https://sequenceserver.com/) | diff --git a/mkdocs.yml b/mkdocs.yml index 58482435..1a5157ba 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -22,6 +22,8 @@ theme: repo: fontawesome/brands/github-alt plugins: - git-revision-date + - search + - macros markdown_extensions: - pymdownx.emoji: emoji_index: !!python/name:materialx.emoji.twemoji diff --git a/modules/KOs/kofamscan.nf b/modules/KOs/kofamscan.nf index 87d25450..cd07f66e 100644 --- a/modules/KOs/kofamscan.nf +++ b/modules/KOs/kofamscan.nf @@ -4,7 +4,7 @@ process KOFAMSCAN { else "$filename" } tag "${prefix}" - label = [ 'misc', 'process_high' ] + label = [ 'process_high', 'error_retry' ] input: tuple val(prefix), file('proteins.faa') diff --git a/modules/MGEs/draw_gis.nf b/modules/MGEs/draw_gis.nf index ff64cfd2..13277613 100644 --- a/modules/MGEs/draw_gis.nf +++ b/modules/MGEs/draw_gis.nf @@ -5,7 +5,6 @@ process DRAW_GIS { } tag "${prefix}" label = [ 'misc', 'process_ultralow' ] - input: tuple val(prefix), file(gff), file(gis_bed) diff --git a/modules/MGEs/integron_finder.nf b/modules/MGEs/integron_finder.nf new file mode 100644 index 00000000..b06fccdf --- /dev/null +++ b/modules/MGEs/integron_finder.nf @@ -0,0 +1,42 @@ +process INTEGRON_FINDER { + publishDir "${params.output}", mode: 'copy', saveAs: { filename -> + if (filename.indexOf("_version.txt") > 0) "tools_versioning/$filename" + else "${prefix}/integron_finder/$filename" + } + tag "${prefix}" + label = [ 'process_medium' ] + + input: + tuple val(prefix), file(genome) + + output: + tuple val(prefix), path("*") , emit: all + tuple val(prefix), path("${prefix}_integrons.gbk"), emit: gbk, optional: true + path("integronfinder_version.txt") + + script: + def args = task.ext.args ?: '' + """ + # Get version + integron_finder --version > integronfinder_version.txt ; + + # run tool + integron_finder \\ + --local-max \\ + --func-annot \\ + --pdf \\ + --gbk \\ + --cpu $task.cpus \\ + $args \\ + $genome + + # move results + mv Results_Integron_Finder_${prefix}/* . ; + rm -rf Results_Integron_Finder_${prefix} ; + + # convert to gff if available + for gbk in \$(ls *.gbk) ; do + cat \$gbk >> ${prefix}_integrons.gbk ; + done + """ +} diff --git a/modules/MGEs/integron_finder_2gff.nf b/modules/MGEs/integron_finder_2gff.nf new file mode 100644 index 00000000..6abaeab3 --- /dev/null +++ b/modules/MGEs/integron_finder_2gff.nf @@ -0,0 +1,24 @@ +process INTEGRON_FINDER_2GFF { + publishDir "${params.output}/${prefix}/integron_finder", mode: 'copy' + tag "${prefix}" + label = [ 'misc', 'process_low' ] + + input: + tuple val(prefix), file(gbk) + + output: + tuple val(prefix), path("${prefix}_integrons.gff"), emit: gff + + script: + def args = task.ext.args ?: '' + """ + # convert to gff if available + touch ${prefix}_integrons.gff ; + for gbk in \$(ls *.gbk) ; do + conda run -n perl bp_genbank2gff3 \$gbk -o - | \ + grep 'integron_id' | \ + sed 's|ID=.*integron_id=|ID=|g' | \ + sed 's/GenBank/Integron_Finder/g' >> ${prefix}_integrons.gff + done + """ +} diff --git a/modules/MGEs/islandpath.nf b/modules/MGEs/islandpath.nf index d7ded993..d9ef1714 100644 --- a/modules/MGEs/islandpath.nf +++ b/modules/MGEs/islandpath.nf @@ -1,7 +1,9 @@ process ISLANDPATH { publishDir "${params.output}/${prefix}/genomic_islands", mode: 'copy' tag "${prefix}" - label = [ 'perl', 'process_low' ] + label = [ 'process_low' ] + errorStrategy = 'retry' + maxRetries = 5 input: tuple val(prefix), file("annotation.gbk") diff --git a/modules/MGEs/mob_suite.nf b/modules/MGEs/mob_suite.nf new file mode 100644 index 00000000..14256e92 --- /dev/null +++ b/modules/MGEs/mob_suite.nf @@ -0,0 +1,36 @@ +process MOBSUITE { + publishDir "${params.output}", mode: 'copy', saveAs: { filename -> + if (filename.indexOf("_version.txt") > 0) "tools_versioning/$filename" + else "${prefix}/plasmids/mob_suite/$filename" + } + tag "${prefix}" + label = [ 'process_medium' ] + + input: + tuple val(prefix), file(genome) + + output: + tuple val(prefix), path("${prefix}_mobtyper_results.txt"), emit: results + path("mobtyper_version.txt") + + script: + def args = task.ext.args ?: '' + """ + # Get version + mob_typer --version > mobtyper_version.txt ; + + # run tool + mob_typer \\ + --multi \\ + --num_threads $task.cpus \\ + --sample_id $prefix \\ + --infile $genome \\ + $args \\ + --out_file ${prefix}_mobtyper_results.txt + + # convert to gff if available + # for gbk in \$(ls *.gbk) ; do + # cat \$gbk >> ${prefix}_integrons.gbk ; + # done + """ +} diff --git a/modules/MGEs/plasmidfinder.nf b/modules/MGEs/plasmidfinder.nf index 318e93ea..91580170 100644 --- a/modules/MGEs/plasmidfinder.nf +++ b/modules/MGEs/plasmidfinder.nf @@ -4,7 +4,7 @@ process PLASMIDFINDER { else null } tag "${prefix}" - label = [ 'python', 'process_low' ] + label = [ 'process_low' ] input: tuple val(prefix), file(genome) diff --git a/modules/MGEs/platon.nf b/modules/MGEs/platon.nf index 086ab4d3..e4be53ec 100644 --- a/modules/MGEs/platon.nf +++ b/modules/MGEs/platon.nf @@ -5,7 +5,7 @@ process PLATON { else null } tag "${prefix}" - label = [ 'python', 'process_medium' ] + label = [ 'process_medium' ] input: tuple val(prefix), file(genome) diff --git a/modules/assembly/flye.nf b/modules/assembly/flye.nf index 05e73580..d588d01e 100644 --- a/modules/assembly/flye.nf +++ b/modules/assembly/flye.nf @@ -4,7 +4,7 @@ process FLYE { else if (filename == "flye_${prefix}") "assembly" else null } - label 'process_high' + label = [ 'process_high', 'error_retry' ] tag "${prefix}" input: @@ -18,14 +18,21 @@ process FLYE { script: lr = (lr_type == 'nanopore') ? '--nano-raw' : '--pacbio-raw' + dedup_lr = params.enable_deduplication ? + "gunzip -cf $lreads | awk '{if(NR%4==1) \$0=sprintf(\"@1_%d\",(1+i++)); print;}' | gzip -c > ${prefix}_deduplicated_reads.fastq.gz" : + "ln -s $lreads ${prefix}_deduplicated_reads.fastq.gz" + """ # Save flye version flye -v > flye_version.txt ; + # remove duplicate reads + $dedup_lr + # Run flye flye \\ ${lr} \\ - $lreads \\ + ${prefix}_deduplicated_reads.fastq.gz \\ --out-dir flye_${prefix} \\ --threads $task.cpus &> flye.log ; diff --git a/modules/assembly/unicycler.nf b/modules/assembly/unicycler.nf index 75883bf5..145f1c1f 100644 --- a/modules/assembly/unicycler.nf +++ b/modules/assembly/unicycler.nf @@ -4,7 +4,7 @@ process UNICYCLER { else if (filename == "unicycler_${prefix}") "assembly" else null } - label 'process_high' + label = [ 'process_high', 'error_retry' ] tag "${prefix}" input: @@ -17,14 +17,55 @@ process UNICYCLER { path('unicycler_version.txt'), emit: version script: - unpaired_param = (sreads.getName() != "input.3") ? "-s $sreads" : "" - paired_param = (sread1.getName() != "input.1" && sread2.getName() != "input.2") ? "-1 $sread1 -2 $sread2" : "" - lr_param = (lreads.getName() != "input.4") ? "-l $lreads" : "" + unpaired_param = "" + dedup_sreads = "" + paired_param = "" + dedup_paired = "" + lr_param = "" + dedup_lr = "" + + // sreads + if (sreads.getName() != "input.3") { + + dedup_sreads = params.enable_deduplication ? + "gunzip -cf $sreads | awk '{if(NR%4==1) \$0=sprintf(\"@1_%d\",(1+i++)); print;}' | gzip -c > ${prefix}_deduplicated_sreads.fastq.gz" : + "ln -s $sreads ${prefix}_deduplicated_sreads.fastq.gz" + + unpaired_param = "-s ${prefix}_deduplicated_sreads.fastq.gz" + + } + + // paired + if (sread1.getName() != "input.1" && sread2.getName() != "input.2") { + + dedup_paired = params.enable_deduplication ? + "gunzip -cf $sread1 | awk '{if(NR%4==1) \$0=sprintf(\"@1_%d\",(1+i++)); print;}' | gzip -c > ${prefix}_deduplicated_sread_R1.fastq.gz && gunzip -cf $sread2 | awk '{if(NR%4==1) \$0=sprintf(\"@1_%d\",(1+i++)); print;}' | gzip -c > ${prefix}_deduplicated_sread_R2.fastq.gz" : + "ln -s $sread1 ${prefix}_deduplicated_sread_R1.fastq.gz && ln -s $sread2 ${prefix}_deduplicated_sread_R2.fastq.gz" + + paired_param = "-1 ${prefix}_deduplicated_sread_R1.fastq.gz -2 ${prefix}_deduplicated_sread_R2.fastq.gz" + + } + + // lreads + if (lreads.getName() != "input.4") { + + dedup_lr = params.enable_deduplication ? + "gunzip -cf $lreads | awk '{if(NR%4==1) \$0=sprintf(\"@1_%d\",(1+i++)); print;}' | gzip -c > ${prefix}_deduplicated_lreads.fastq.gz" : + "ln -s $lreads ${prefix}_deduplicated_lreads.fastq.gz" + + lr_param = "-l $lreads" + + } """ # Save unicycler version unicycler --version > unicycler_version.txt + # remove duplicate reads + $dedup_sreads + $dedup_paired + $dedup_lr + # Run unicycler unicycler \\ $paired_param \\ diff --git a/modules/bacannot_dbs/amrfinder.nf b/modules/bacannot_dbs/amrfinder.nf index 0d3b3955..c5039973 100644 --- a/modules/bacannot_dbs/amrfinder.nf +++ b/modules/bacannot_dbs/amrfinder.nf @@ -1,7 +1,7 @@ process AMRFINDER_DB { publishDir "${params.output}/amrfinder_db", mode: 'copy', overwrite: "$params.force_update" - label = [ 'db_download', 'process_ultralow' ] - + label 'process_ultralow' + output: file("*") diff --git a/modules/bacannot_dbs/antismash.nf b/modules/bacannot_dbs/antismash.nf index 9f0fdd2f..5e9b8962 100644 --- a/modules/bacannot_dbs/antismash.nf +++ b/modules/bacannot_dbs/antismash.nf @@ -1,7 +1,7 @@ process ANTISMASH_DB { publishDir "${params.output}/antismash_db", mode: 'copy', overwrite: "$params.force_update" label = [ 'db_download', 'process_ultralow' ] - + output: file("*") diff --git a/modules/bacannot_dbs/argminer.nf b/modules/bacannot_dbs/argminer.nf index bacbb91a..6b2881ea 100644 --- a/modules/bacannot_dbs/argminer.nf +++ b/modules/bacannot_dbs/argminer.nf @@ -1,7 +1,7 @@ process ARGMINER_DB { publishDir "${params.output}/argminer_db", mode: 'copy', overwrite: "$params.force_update" label = [ 'db_download', 'process_ultralow' ] - + output: file("*") diff --git a/modules/bacannot_dbs/card.nf b/modules/bacannot_dbs/card.nf index d28feacb..411802a0 100644 --- a/modules/bacannot_dbs/card.nf +++ b/modules/bacannot_dbs/card.nf @@ -1,7 +1,7 @@ process CARD_DB { publishDir "${params.output}/card_db", mode: 'copy', overwrite: "$params.force_update" label = [ 'db_download', 'process_ultralow' ] - + output: file("*") @@ -11,5 +11,5 @@ process CARD_DB { wget --tries=10 https://card.mcmaster.ca/latest/data tar -xvf data ./card.json rm data - """ + """ } diff --git a/modules/bacannot_dbs/get_zenodo.nf b/modules/bacannot_dbs/get_zenodo.nf new file mode 100644 index 00000000..cb9aab4f --- /dev/null +++ b/modules/bacannot_dbs/get_zenodo.nf @@ -0,0 +1,19 @@ +process GET_ZENODO_DB { + publishDir "${params.output}", mode: 'copy', overwrite: "$params.force_update" + label = [ 'db_download', 'process_low' ] + + tag "Downloading pre-built databases" + + output: + file("*") + + script: + """ + # download database from zenodo + zenodo_get https://doi.org/10.5281/zenodo.7615811 + + # organize data + tar zxvf *.tar.gz && rm *.tar.gz + rm -rf \$( find . -name 'pipeline_info' ) + """ +} \ No newline at end of file diff --git a/modules/bacannot_dbs/iceberg.nf b/modules/bacannot_dbs/iceberg.nf index f7f859b8..1cebc233 100644 --- a/modules/bacannot_dbs/iceberg.nf +++ b/modules/bacannot_dbs/iceberg.nf @@ -1,7 +1,7 @@ process ICEBERG_DB { publishDir "${params.output}/iceberg_db", mode: 'copy', overwrite: "$params.force_update" label = [ 'db_download', 'process_ultralow' ] - + output: file("*") diff --git a/modules/bacannot_dbs/kofamscan.nf b/modules/bacannot_dbs/kofamscan.nf index 71baa955..2a5e6303 100644 --- a/modules/bacannot_dbs/kofamscan.nf +++ b/modules/bacannot_dbs/kofamscan.nf @@ -1,19 +1,28 @@ process KOFAMSCAN_DB { publishDir "${params.output}/kofamscan_db", mode: 'copy', overwrite: "$params.force_update" label = [ 'db_download', 'process_low' ] - + output: file("*") script: + if (workflow.containerEngine != 'singularity') { + chmod_cmd = 'chmod a+rw profiles.tar.gz ko_list' + chown_cmd = 'chown -R root:\$(id -g) profiles' + tar_cmd = '--same-owner' + } else { + chmod_cmd = '' + chown_cmd = '' + tar_cmd = '' + } """ # download kofamscan database wget --tries=10 ftp://ftp.genome.jp/pub/db/kofam/ko_list.gz wget --tries=10 ftp://ftp.genome.jp/pub/db/kofam/profiles.tar.gz gunzip ko_list.gz - chmod a+rw profiles.tar.gz ko_list - tar --same-owner -xvzf profiles.tar.gz - chown -R root:\$(id -g) profiles + $chmod_cmd + tar $tar_cmd -xvzf profiles.tar.gz + $chown_cmd rm -rf profiles.tar.gz # for the sake of size and fastness diff --git a/modules/bacannot_dbs/mlst.nf b/modules/bacannot_dbs/mlst.nf index 5c6401de..11de39df 100644 --- a/modules/bacannot_dbs/mlst.nf +++ b/modules/bacannot_dbs/mlst.nf @@ -1,7 +1,7 @@ process MLST_DB { publishDir "${params.output}/mlst_db", mode: 'copy', overwrite: "$params.force_update" label = [ 'db_download', 'process_ultralow' ] - + output: file("*") diff --git a/modules/bacannot_dbs/phast.nf b/modules/bacannot_dbs/phast.nf index 6e1771e7..0c7587ef 100644 --- a/modules/bacannot_dbs/phast.nf +++ b/modules/bacannot_dbs/phast.nf @@ -1,7 +1,7 @@ process PHAST_DB { publishDir "${params.output}/phast_db", mode: 'copy', overwrite: "$params.force_update" label = [ 'db_download', 'process_ultralow' ] - + output: file("*") diff --git a/modules/bacannot_dbs/phigaro.nf b/modules/bacannot_dbs/phigaro.nf index 7c9c2bb5..03f9c5a5 100644 --- a/modules/bacannot_dbs/phigaro.nf +++ b/modules/bacannot_dbs/phigaro.nf @@ -1,7 +1,7 @@ process PHIGARO_DB { publishDir "${params.output}/phigaro_db", mode: 'copy', overwrite: "$params.force_update" label = [ 'db_download', 'process_medium' ] - + output: file("*") diff --git a/modules/bacannot_dbs/plasmidfinder.nf b/modules/bacannot_dbs/plasmidfinder.nf index 18e778b4..05073cad 100644 --- a/modules/bacannot_dbs/plasmidfinder.nf +++ b/modules/bacannot_dbs/plasmidfinder.nf @@ -1,7 +1,7 @@ process PLASMIDFINDER_DB { publishDir "${params.output}", mode: 'copy', overwrite: "$params.force_update" label = [ 'db_download', 'process_ultralow' ] - + output: file("*") diff --git a/modules/bacannot_dbs/platon.nf b/modules/bacannot_dbs/platon.nf index e8e40c77..2d30881d 100644 --- a/modules/bacannot_dbs/platon.nf +++ b/modules/bacannot_dbs/platon.nf @@ -1,7 +1,7 @@ process PLATON_DB { publishDir "${params.output}/platon_db", mode: 'copy', overwrite: "$params.force_update" label = [ 'db_download', 'process_low' ] - + output: file("*") diff --git a/modules/bacannot_dbs/prokka.nf b/modules/bacannot_dbs/prokka.nf index 594e7f59..f82a24e2 100644 --- a/modules/bacannot_dbs/prokka.nf +++ b/modules/bacannot_dbs/prokka.nf @@ -1,7 +1,7 @@ process PROKKA_DB { publishDir "${params.output}/prokka_db", mode: 'copy', overwrite: "$params.force_update" label = [ 'db_download', 'process_low' ] - + output: file("*") diff --git a/modules/bacannot_dbs/resfinder.nf b/modules/bacannot_dbs/resfinder.nf index 46914a12..2c2d1f43 100644 --- a/modules/bacannot_dbs/resfinder.nf +++ b/modules/bacannot_dbs/resfinder.nf @@ -1,7 +1,7 @@ process RESFINDER_DB { publishDir "${params.output}/resfinder_db", mode: 'copy', overwrite: "$params.force_update" label = [ 'db_download', 'process_ultralow' ] - + output: file("*") diff --git a/modules/bacannot_dbs/vfdb.nf b/modules/bacannot_dbs/vfdb.nf index 6b9112f5..2a1673d9 100644 --- a/modules/bacannot_dbs/vfdb.nf +++ b/modules/bacannot_dbs/vfdb.nf @@ -1,7 +1,7 @@ process VFDB_DB { publishDir "${params.output}/vfdb_db", mode: 'copy', overwrite: "$params.force_update" label = [ 'db_download', 'process_ultralow' ] - + output: file("*") diff --git a/modules/bacannot_dbs/victors.nf b/modules/bacannot_dbs/victors.nf index 6d9aa0f9..b5c28409 100644 --- a/modules/bacannot_dbs/victors.nf +++ b/modules/bacannot_dbs/victors.nf @@ -1,7 +1,7 @@ process VICTORS_DB { publishDir "${params.output}/victors_db", mode: 'copy', overwrite: "$params.force_update" label = [ 'db_download', 'process_ultralow' ] - + output: file("*") diff --git a/modules/generic/bakta.nf b/modules/generic/bakta.nf index 80253324..8d673ca2 100644 --- a/modules/generic/bakta.nf +++ b/modules/generic/bakta.nf @@ -1,11 +1,11 @@ process BAKTA { publishDir "${params.output}/${prefix}", mode: 'copy', saveAs: { filename -> - if (filename.indexOf("_version.txt") > 0) "tools_versioning/$filename" - else if (filename == "annotation") "$filename" - else null + if (filename.indexOf("_version.txt") > 0) "tools_versioning/$filename" + else if (filename == "annotation") "$filename" + else null } tag "${prefix}" - label = [ 'misc', 'process_medium', 'error_retry' ] + label = [ 'process_medium', 'error_retry' ] input: tuple val(prefix), val(entrypoint), file(sread1), file(sread2), file(sreads), file(lreads), val(lr_type), file(fast5), file(assembly), val(resfinder_species) @@ -33,6 +33,9 @@ process BAKTA { # Save bakta version bakta --version &> bakta_version.txt ; + # clean headers char limit + awk '{ if (\$0 ~ />/) print substr(\$0,1,21) ; else print \$0 }' $assembly > cleaned_header.fasta + # Run bakta bakta \\ --output annotation \\ @@ -41,7 +44,7 @@ process BAKTA { --prefix ${prefix} \\ --strain '${prefix}' \\ --db $bakta_db \\ - $assembly + cleaned_header.fasta # fix fasta headers cut -f 1 -d ' ' annotation/${prefix}.fna > tmp.fa diff --git a/modules/generic/barrnap.nf b/modules/generic/barrnap.nf index cea24619..b646ab91 100644 --- a/modules/generic/barrnap.nf +++ b/modules/generic/barrnap.nf @@ -4,7 +4,7 @@ process BARRNAP { else "rRNA/$filename" } tag "${prefix}" - label = [ 'perl', 'process_low' ] + label = [ 'process_low' ] input: tuple val(prefix), file(genome) diff --git a/modules/generic/circos.nf b/modules/generic/circos.nf index 4fe3d0bf..c0c7ccfe 100644 --- a/modules/generic/circos.nf +++ b/modules/generic/circos.nf @@ -4,8 +4,7 @@ process CIRCOS { else "$filename" } tag "$prefix" - - label = [ 'perl', 'process_low' ] + label = [ 'misc', 'process_low' ] input: tuple val(prefix), path(inputs, stageAs: 'results*') diff --git a/modules/generic/gc_skew.nf b/modules/generic/gc_skew.nf index e4827c78..68ea6170 100644 --- a/modules/generic/gc_skew.nf +++ b/modules/generic/gc_skew.nf @@ -1,7 +1,6 @@ process GC_SKEW { tag "$prefix" - - label = [ 'python', 'process_low' ] + label = [ 'misc', 'process_low' ] input: tuple val(prefix), path(inputs) diff --git a/modules/generic/gff2gbk.nf b/modules/generic/gff2gbk.nf index df73cb82..c1e0ff88 100644 --- a/modules/generic/gff2gbk.nf +++ b/modules/generic/gff2gbk.nf @@ -10,9 +10,6 @@ process GFF2GBK { path "*.genbank", emit: results """ - # Activate env - export PATH=/opt/conda/envs/antismash/bin:\$PATH - # Run emboss seqret seqret \\ -sequence $input \\ diff --git a/modules/generic/gff2sql.nf b/modules/generic/gff2sql.nf index 536609af..0c34824a 100644 --- a/modules/generic/gff2sql.nf +++ b/modules/generic/gff2sql.nf @@ -33,9 +33,6 @@ process CREATE_SQL { fi - # Save results with better name - mv /work/${prefix}.sqlite . ; - # Save parser cp /work/bscripts/run_server.sh . ; """ diff --git a/modules/generic/jbrowse.nf b/modules/generic/jbrowse.nf index ea2cc183..d0b80a62 100644 --- a/modules/generic/jbrowse.nf +++ b/modules/generic/jbrowse.nf @@ -4,7 +4,7 @@ process JBROWSE { tag "${prefix}" input: - tuple val(prefix), file(merged_gff), file(draft), file("prokka_gff"), file(barrnap), file(gc_bedGraph), file(gc_chrSizes), file(resfinder_gff), file(phigaro), file(genomic_islands), file("methylation"), file("chr.sizes"), file(phispy_tsv), file(digIS_gff), file(antiSMASH), file(custom_annotations) + tuple val(prefix), file(merged_gff), file(draft), file("prokka_gff"), file(barrnap), file(gc_bedGraph), file(gc_chrSizes), file(resfinder_gff), file(phigaro), file(genomic_islands), file("methylation"), file("chr.sizes"), file(phispy_tsv), file(digIS_gff), file(antiSMASH), file(custom_annotations), file(integron_finder) output: path "*", emit: results @@ -29,6 +29,7 @@ process JBROWSE { -S chr.sizes \\ -R $resfinder_gff \\ -d $digIS_gff \\ - -A $antiSMASH + -A $antiSMASH \\ + -i $integron_finder """ } diff --git a/modules/generic/karyotype.nf b/modules/generic/karyotype.nf index eb8eb8d9..cc2b37ad 100644 --- a/modules/generic/karyotype.nf +++ b/modules/generic/karyotype.nf @@ -1,6 +1,5 @@ process MAKE_KARYOTYPE { tag "$prefix" - label = [ 'misc', 'process_low' ] input: diff --git a/modules/generic/mash.nf b/modules/generic/mash.nf index 6264fdb6..b2ca8961 100644 --- a/modules/generic/mash.nf +++ b/modules/generic/mash.nf @@ -4,7 +4,7 @@ process REFSEQ_MASHER { else "refseq_masher/$filename" } tag "${prefix}" - label = [ 'python', 'process_low' ] + label = [ 'process_low' ] input: tuple val(prefix), path(genome) diff --git a/modules/generic/merge_annotations.nf b/modules/generic/merge_annotations.nf index 96d589b7..7343bd8a 100644 --- a/modules/generic/merge_annotations.nf +++ b/modules/generic/merge_annotations.nf @@ -4,7 +4,7 @@ process MERGE_ANNOTATIONS { tag "${prefix}" input: - tuple val(prefix), file('prokka_gff'), file(kofamscan), file(vfdb), file(victors), file(amrfinder), file(resfinder), file(rgi), file(iceberg), file(phast), file('digis_gff'), file(custom_databases) + tuple val(prefix), file('prokka_gff'), file(kofamscan), file(vfdb), file(victors), file(amrfinder), file(resfinder), file(rgi), file(iceberg), file(phast), file('digis_gff'), file(custom_databases), file(integron_finder) output: tuple val(prefix), path("${prefix}.gff") , emit: gff @@ -108,5 +108,11 @@ process MERGE_ANNOTATIONS { cat ${prefix}.gff transposable_elements_digis.gff | bedtools sort > tmp.out.gff ; ( cat tmp.out.gff > ${prefix}.gff && rm tmp.out.gff ); fi + + ### integron_finder results + ### integrons are unique / complete elements and should not be intersected + cat ${prefix}.gff $integron_finder | bedtools sort > tmp.gff ; + cat tmp.gff > ${prefix}.gff + rm tmp.gff """ } diff --git a/modules/generic/merge_summaries.nf b/modules/generic/merge_summaries.nf index d4437b10..55c50389 100644 --- a/modules/generic/merge_summaries.nf +++ b/modules/generic/merge_summaries.nf @@ -1,7 +1,6 @@ process MERGE_SUMMARIES { publishDir "${params.output}", mode: 'copy' label = [ 'misc', 'process_low' ] - input: path(summaries) diff --git a/modules/generic/mlst.nf b/modules/generic/mlst.nf index 488327c8..6a4ced52 100644 --- a/modules/generic/mlst.nf +++ b/modules/generic/mlst.nf @@ -1,10 +1,10 @@ process MLST { publishDir "${params.output}/${prefix}", mode: 'copy', saveAs: { filename -> - if (filename.indexOf("_version.txt") > 0) "tools_versioning/$filename" - else "MLST/$filename" + if (filename.indexOf("_version.txt") > 0) "tools_versioning/$filename" + else "MLST/$filename" } tag "${prefix}" - label = [ 'perl', 'process_ultralow' ] + label = [ 'process_ultralow' ] input: tuple val(prefix), file(genome) @@ -19,9 +19,7 @@ process MLST { script: """ # update tool database - mlst_dir=\$(which mlst | sed 's/bin\\/mlst//g') - cp ${bacannot_db}/mlst_db/* -r \${mlst_dir}/db/pubmlst/ - ( cd \$mlst_dir/scripts && ./mlst-make_blast_db ) + mlst-make_blast_db.sh ${bacannot_db}/mlst_db # Save mlst tool version mlst --version > mlst_version.txt ; diff --git a/modules/generic/prepare_circos.nf b/modules/generic/prepare_circos.nf index 8afb64df..eec1f513 100644 --- a/modules/generic/prepare_circos.nf +++ b/modules/generic/prepare_circos.nf @@ -1,6 +1,5 @@ process PREPARE_CIRCOS { tag "$prefix" - label = [ 'misc', 'process_low' ] input: diff --git a/modules/generic/prokka.nf b/modules/generic/prokka.nf index 61ae6d7f..bd31e81d 100644 --- a/modules/generic/prokka.nf +++ b/modules/generic/prokka.nf @@ -1,11 +1,11 @@ process PROKKA { publishDir "${params.output}/${prefix}", mode: 'copy', saveAs: { filename -> - if (filename.indexOf("_version.txt") > 0) "tools_versioning/$filename" - else if (filename == "annotation") "$filename" - else null + if (filename.indexOf("_version.txt") > 0) "tools_versioning/$filename" + else if (filename == "annotation") "$filename" + else null } tag "${prefix}" - label = [ 'perl', 'process_medium' ] + label = [ 'process_medium' ] input: tuple val(prefix), val(entrypoint), file(sread1), file(sread2), file(sreads), file(lreads), val(lr_type), file(fast5), file(assembly), val(resfinder_species) @@ -26,11 +26,13 @@ process PROKKA { path('prokka_version.txt'), emit: version script: - kingdom = (params.prokka_kingdom) ? "--kingdom ${params.prokka_kingdom}" : '' - gcode = (params.prokka_genetic_code) ? "--gcode ${params.prokka_genetic_code}" : '' - rnammer = (params.prokka_use_rnammer) ? "--rnammer" : '' - models = (params.prokka_use_pgap) ? "PGAP_NCBI.hmm" : "TIGRFAMs_15.0.hmm" + kingdom = (params.prokka_kingdom) ? "--kingdom ${params.prokka_kingdom}" : '' + gcode = (params.prokka_genetic_code) ? "--gcode ${params.prokka_genetic_code}" : '' + rnammer = (params.prokka_use_rnammer) ? "--rnammer" : '' + models = (params.prokka_use_pgap) ? "PGAP_NCBI.hmm" : "TIGRFAMs_15.0.hmm" """ + #!/usr/bin/env bash + # save prokka version prokka -v &> prokka_version.txt ; @@ -45,6 +47,9 @@ process PROKKA { # hmmpress ( cd prokka_db/hmm/ ; for i in *.hmm ; do hmmpress -f \$i ; done ) + # clean headers char limit + awk '{ if (\$0 ~ />/) print substr(\$0,1,21) ; else print \$0 }' $assembly > cleaned_header.fasta + # run prokka prokka \\ --dbdir prokka_db \\ @@ -56,7 +61,7 @@ process PROKKA { --genus '' \\ --species '' \\ --strain \"${prefix}\" \\ - $assembly + cleaned_header.fasta # remove tmp dir to gain space rm -r prokka_db diff --git a/modules/generic/reports.nf b/modules/generic/reports.nf index 29e2d418..772d470a 100644 --- a/modules/generic/reports.nf +++ b/modules/generic/reports.nf @@ -4,7 +4,7 @@ process REPORT { tag "${prefix}" input: - tuple val(prefix), file('annotation_stats.tsv'), file(gff), file(barrnap), file(mlst), file(keggsvg), file(refseq_masher_txt), file(amrfinder), file(rgi), file(rgi_parsed), file(rgi_heatmap), file(argminer_out), file(resfinder_tab), file(resfinder_point), file(resfinder_phenotable), file(vfdb_blastn), file(victors_blastp), file(phigaro_txt), file(phispy_tsv), file(iceberg_blastp), file(iceberg_blastn), file(plasmids_tsv), file(platon_tsv), file(gi_image), file(phast_blastp), file(digIS) + tuple val(prefix), file('annotation_stats.tsv'), file(gff), file(barrnap), file(mlst), file(keggsvg), file(refseq_masher_txt), file(amrfinder), file(rgi), file(rgi_parsed), file(rgi_heatmap), file(argminer_out), file(resfinder_tab), file(resfinder_point), file(resfinder_phenotable), file(vfdb_blastn), file(victors_blastp), file(phigaro_txt), file(phispy_tsv), file(iceberg_blastp), file(iceberg_blastn), file(plasmids_tsv), file(platon_tsv), file(mobsuite_tsv), file(gi_image), file(phast_blastp), file(digIS), file(integronfinder) output: path '*.html', emit: results @@ -23,54 +23,68 @@ process REPORT { ## Generate generic Report rmarkdown::render("report_general.Rmd" , \ - params = list( generic_annotation = "annotation_stats.tsv", \ - generic_annotator = "${generic_annotator}", \ - kegg = "$keggsvg", \ - barrnap = "$barrnap", \ - mlst = "$mlst", \ - refseq_masher = "$refseq_masher_txt", \ - query = "${prefix}")) ; + params = list( + generic_annotation = "annotation_stats.tsv", \ + generic_annotator = "${generic_annotator}", \ + kegg = "$keggsvg", \ + barrnap = "$barrnap", \ + mlst = "$mlst", \ + refseq_masher = "$refseq_masher_txt", \ + query = "${prefix}" + ) + ) ; ## Generate Resistance Report - rmarkdown::render("report_resistance.Rmd", params = list(\ - blast_id = ${params.blast_resistance_minid} , \ - blast_cov = ${params.blast_resistance_mincov}, \ - amrfinder = "$amrfinder", \ - query = "${prefix}", \ - rgitool = "$rgi", \ - rgiparsed = "$rgi_parsed", \ - rgi_heatmap = "$rgi_heatmap", \ - argminer_blastp = "$argminer_out", \ - resfinder_tab = "$resfinder_tab", \ - resfinder_pointfinder = "$resfinder_point", \ - resfinder_phenotype = "$resfinder_phenotable", \ - generic_annotator = "${generic_annotator}", \ - gff = "$gff")) ; + rmarkdown::render("report_resistance.Rmd", \ + params = list(\ + blast_id = ${params.blast_resistance_minid} , \ + blast_cov = ${params.blast_resistance_mincov}, \ + amrfinder = "$amrfinder", \ + query = "${prefix}", \ + rgitool = "$rgi", \ + rgiparsed = "$rgi_parsed", \ + rgi_heatmap = "$rgi_heatmap", \ + argminer_blastp = "$argminer_out", \ + resfinder_tab = "$resfinder_tab", \ + resfinder_pointfinder = "$resfinder_point", \ + resfinder_phenotype = "$resfinder_phenotable", \ + generic_annotator = "${generic_annotator}", \ + gff = "$gff" + ) + ) ; ## Generate Virulence Report rmarkdown::render("report_virulence.Rmd" , \ - params = list( blast_id = ${params.blast_virulence_minid} , \ - blast_cov = ${params.blast_virulence_mincov}, \ - vfdb_blast = "$vfdb_blastn", \ - gff = "$gff", \ - victors_blast = "$victors_blastp", \ - query = "${prefix}")) ; + params = list( + blast_id = ${params.blast_virulence_minid} , \ + blast_cov = ${params.blast_virulence_mincov}, \ + vfdb_blast = "$vfdb_blastn", \ + gff = "$gff", \ + victors_blast = "$victors_blastp", \ + query = "${prefix}" + ) + ) ; ## Generate MGEs report rmarkdown::render("report_MGEs.Rmd", \ - params = list( blast_id = ${params.blast_MGEs_minid}, \ - blast_cov = ${params.blast_MGEs_mincov}, \ - phigaro_dir = "${params.output}/prophages/phigaro", \ - phigaro_txt = "$phigaro_txt", \ - phispy_tsv = "$phispy_tsv", \ - ice_prot_blast = "$iceberg_blastp", \ - ice_genome_blast = "$iceberg_blastn", \ - plasmid_finder_tab = "$plasmids_tsv", \ - platon_tsv = "$platon_tsv", \ - query = "${prefix}", \ - gi_image = "$gi_image", \ - digis = "$digIS", \ - gff = "$gff", \ - phast_prot_blast = "$phast_blastp" )) ; + params = list( + blast_id = ${params.blast_MGEs_minid}, \ + blast_cov = ${params.blast_MGEs_mincov}, \ + phigaro_dir = "${params.output}/prophages/phigaro", \ + phigaro_txt = "$phigaro_txt", \ + phispy_tsv = "$phispy_tsv", \ + ice_prot_blast = "$iceberg_blastp", \ + ice_genome_blast = "$iceberg_blastn", \ + plasmid_finder_tab = "$plasmids_tsv", \ + platon_tsv = "$platon_tsv", \ + mobsuite_tsv = "$mobsuite_tsv", \ + query = "${prefix}", \ + gi_image = "$gi_image", \ + digis = "$digIS", \ + integronfinder = "$integronfinder", \ + gff = "$gff", \ + phast_prot_blast = "$phast_blastp" + ) + ) ; """ } diff --git a/modules/generic/sequenceserver.nf b/modules/generic/sequenceserver.nf index 2663ef97..2048dffe 100644 --- a/modules/generic/sequenceserver.nf +++ b/modules/generic/sequenceserver.nf @@ -1,8 +1,7 @@ process SEQUENCESERVER { publishDir "${params.output}/${prefix}/SequenceServerDBs", mode: 'copy' tag "${prefix}" - label = [ 'server', 'process_ultralow' ] - + label = [ 'server', 'process_ultralow' ] input: tuple val(prefix), file(genome), file(genes), file(proteins) diff --git a/modules/generic/summary.nf b/modules/generic/summary.nf index eda601ad..f443ee8c 100644 --- a/modules/generic/summary.nf +++ b/modules/generic/summary.nf @@ -1,22 +1,34 @@ process SUMMARY { publishDir "${params.output}/${prefix}", mode: 'copy' tag "${prefix}" - label = [ 'python', 'process_low' ] - + label = [ 'misc', 'process_low' ] input: tuple val(prefix), - file(annotation), file(stageAs: "results/${prefix}/MLST/*"), - file(stageAs: "results/${prefix}/rRNA/*"), file(stageAs: "results/${prefix}/*"), - file(stageAs: "results/${prefix}/plasmids/*"), file(stageAs: "results/${prefix}/plasmids/*"), - file(stageAs: "results/${prefix}/genomic_islands/*"), file(stageAs: "results/${prefix}/virulence/vfdb/*"), - file(stageAs: "results/${prefix}/virulence/victors/*"), file(stageAs: "results/${prefix}/prophages/phast_db/*"), - file(stageAs: "results/${prefix}/prophages/phigaro/*"), file(stageAs: "results/${prefix}/prophages/*"), - file(stageAs: "results/${prefix}/ICEs/*"), file(stageAs: "results/${prefix}/resistance/AMRFinderPlus/*"), - file(stageAs: "results/${prefix}/resistance/RGI/*"), file(stageAs: "results/${prefix}/resistance/ARGMiner/*"), - file(stageAs: "results/${prefix}/resistance/*"), file(stageAs: "results/${prefix}/methylations/*"), - file(stageAs: "results/${prefix}/refseq_masher/*"), file(stageAs: "results/${prefix}/*"), - file(stageAs: "results/${prefix}/*"), file(stageAs: "results/${prefix}/gffs/*") + file(annotation), + file(stageAs: "results/${prefix}/MLST/*"), + file(stageAs: "results/${prefix}/rRNA/*"), + file(stageAs: "results/${prefix}/*"), + file(stageAs: "results/${prefix}/plasmids/*"), + file(stageAs: "results/${prefix}/plasmids/*"), + file(stageAs: "results/${prefix}/genomic_islands/*"), + file(stageAs: "results/${prefix}/virulence/vfdb/*"), + file(stageAs: "results/${prefix}/virulence/victors/*"), + file(stageAs: "results/${prefix}/prophages/phast_db/*"), + file(stageAs: "results/${prefix}/prophages/phigaro/*"), + file(stageAs: "results/${prefix}/prophages/*"), + file(stageAs: "results/${prefix}/ICEs/*"), + file(stageAs: "results/${prefix}/resistance/AMRFinderPlus/*"), + file(stageAs: "results/${prefix}/resistance/RGI/*"), + file(stageAs: "results/${prefix}/resistance/ARGMiner/*"), + file(stageAs: "results/${prefix}/resistance/*"), + file(stageAs: "results/${prefix}/methylations/*"), + file(stageAs: "results/${prefix}/refseq_masher/*"), + file(stageAs: "results/${prefix}/*"), + file(stageAs: "results/${prefix}/*"), + file(stageAs: "results/${prefix}/gffs/*"), + file(stageAs: "results/${prefix}/integron_finder/*"), + file(stageAs: "results/${prefix}/plasmids/mob_suite/*") output: tuple val(prefix), path("${prefix}_summary.json"), emit: summaries @@ -25,7 +37,7 @@ process SUMMARY { """ mkdir -p results/${prefix}/annotation ln -rs annotation/* results/${prefix}/annotation - source activate falmeida-py + sed -i 's/s:/:/g' results/${prefix}/annotation/${prefix}.txt falmeida-py bacannot2json -i results -o ${prefix}_summary.json """ } diff --git a/modules/prophages/phigaro.nf b/modules/prophages/phigaro.nf index f172cb86..915a2ec7 100644 --- a/modules/prophages/phigaro.nf +++ b/modules/prophages/phigaro.nf @@ -4,7 +4,7 @@ process PHIGARO { else "prophages/phigaro/$filename" } tag "${prefix}" - label = [ 'python', 'process_medium' ] + label = [ 'process_medium' ] input: tuple val(prefix), file("assembly.fasta") @@ -18,10 +18,7 @@ process PHIGARO { path('phigaro_version.txt') , emit: version script: - """ - # activate env - source activate phigaro - + """ # get tool version phigaro -V > phigaro_version.txt ; diff --git a/modules/prophages/phispy.nf b/modules/prophages/phispy.nf index 84b8cab4..ef32fc90 100644 --- a/modules/prophages/phispy.nf +++ b/modules/prophages/phispy.nf @@ -5,7 +5,7 @@ process PHISPY { else null } tag "${prefix}" - label = [ 'python', 'process_medium' ] + label = [ 'process_medium' ] input: tuple val(prefix), file(input) diff --git a/modules/resistance/amrfinder.nf b/modules/resistance/amrfinder.nf index 9aa7c3cc..6f36e228 100644 --- a/modules/resistance/amrfinder.nf +++ b/modules/resistance/amrfinder.nf @@ -4,7 +4,7 @@ process AMRFINDER { else "resistance/AMRFinderPlus/$filename" } tag "${prefix}" - label = [ 'misc', 'process_medium' ] + label = [ 'process_medium' ] input: tuple val(prefix), file(proteins) diff --git a/modules/resistance/amrfinder2tsv.nf b/modules/resistance/amrfinder2tsv.nf index 51a09c37..41f52854 100644 --- a/modules/resistance/amrfinder2tsv.nf +++ b/modules/resistance/amrfinder2tsv.nf @@ -1,6 +1,5 @@ process AMRFINDER2TSV { tag "$prefix" - label = [ 'renv', 'process_low' ] input: diff --git a/modules/resistance/resfinder.nf b/modules/resistance/resfinder.nf index 36dbee8d..9b7105e9 100644 --- a/modules/resistance/resfinder.nf +++ b/modules/resistance/resfinder.nf @@ -20,14 +20,11 @@ process RESFINDER { script: resistance_minid = params.blast_resistance_minid / 100.00 resistance_mincov = params.blast_resistance_mincov / 100.00 - if (resfinder_species.toLowerCase() != "other") + """ # activate env source activate resfinder - # Make databases available - ln -rs ${bacannot_db}/resfinder_db/db_* \$(dirname \$(which run_resfinder.py)) - # Run resfinder acquired resistance run_resfinder.py \\ --inputfasta $genome \\ @@ -35,53 +32,39 @@ process RESFINDER { --species \"${resfinder_species}\" \\ --min_cov ${resistance_mincov} \\ --threshold ${resistance_minid} \\ + --db_path_point ${bacannot_db}/resfinder_db/db_pointfinder \\ + --db_path_res ${bacannot_db}/resfinder_db/db_resfinder \\ --acquired ; # Fix name of pheno table mv resfinder/pheno_table.txt resfinder/args_pheno_table.txt &> /dev/null ; # Run resfinder pointfinder resistance - run_resfinder.py \\ - --inputfasta $genome \\ - -o resfinder \\ - --species \"${resfinder_species}\" \\ - --min_cov ${resistance_mincov} \\ - --threshold ${resistance_minid} \\ - --point ; - - # Fix name of pheno table - mv resfinder/pheno_table.txt resfinder/mutation_pheno_table.txt &> /dev/null ; - - # Convert to GFF - resfinder2gff.py \\ - -i resfinder/ResFinder_results_tab.txt > resfinder/results_tab.gff ; - """ - - else if (resfinder_species.toLowerCase() == "other") - """ - # activate env - source activate resfinder + if [ \"${resfinder_species.toLowerCase()}\" != "other" ]; then - # Make databases available - ln -rs ${bacannot_db}/resfinder_db/db_* \$(dirname \$(which run_resfinder.py)) + run_resfinder.py \\ + --inputfasta $genome \\ + -o resfinder \\ + --species \"${resfinder_species}\" \\ + --min_cov ${resistance_mincov} \\ + --threshold ${resistance_minid} \\ + --db_path_point ${bacannot_db}/resfinder_db/db_pointfinder \\ + --db_path_res ${bacannot_db}/resfinder_db/db_resfinder \\ + --point ; - # Run resfinder acquired resistance - run_resfinder.py \\ - --inputfasta $genome \\ - -o resfinder \\ - --species \"${resfinder_species}\" \\ - --min_cov ${resistance_mincov} \\ - --threshold ${resistance_minid} \\ - --acquired ; - - # Fix name of pheno table - mv resfinder/pheno_table.txt resfinder/args_pheno_table.txt &> /dev/null ; - - # touch pointfinder - touch resfinder/PointFinder_results.txt ; + # Fix name of pheno table + mv resfinder/pheno_table.txt resfinder/mutation_pheno_table.txt &> /dev/null ; + + else + # touch pointfinder + touch resfinder/PointFinder_results.txt ; + + fi + # Convert to GFF resfinder2gff.py \\ -i resfinder/ResFinder_results_tab.txt > resfinder/results_tab.gff ; """ + } diff --git a/modules/resistance/rgi_annotation.nf b/modules/resistance/rgi_annotation.nf index cd83eed7..9ae28955 100644 --- a/modules/resistance/rgi_annotation.nf +++ b/modules/resistance/rgi_annotation.nf @@ -5,7 +5,7 @@ process CARD_RGI { else "resistance/RGI/$filename" } tag "${prefix}" - label = [ 'python', 'process_medium' ] + label = [ 'process_medium' ] input: tuple val(prefix), path(input) @@ -20,10 +20,7 @@ process CARD_RGI { path("*_version.txt") , emit: version script: - """ - # activate env - source activate rgi - + """ # load database rgi load --card_json ${bacannot_db}/card_db/card.json --local diff --git a/modules/virulence/vfdb2tsv.nf b/modules/virulence/vfdb2tsv.nf index 595e1548..3a27daa6 100644 --- a/modules/virulence/vfdb2tsv.nf +++ b/modules/virulence/vfdb2tsv.nf @@ -1,6 +1,5 @@ process VFDB2TSV { tag "$prefix" - label = [ 'renv', 'process_low' ] input: diff --git a/nextflow.config b/nextflow.config index 45c8494d..11ead557 100644 --- a/nextflow.config +++ b/nextflow.config @@ -13,11 +13,12 @@ includeConfig 'conf/defaults.config' params { // Boilerplate options - tracedir = "${params.output}/pipeline_info" plaintext_email = false monochrome_logs = false help = false get_config = false + get_docker_config = false + get_singularity_config = false get_samplesheet = false validate_params = true show_hidden_params = false @@ -82,19 +83,19 @@ process.shell = ['/bin/bash', '-euo', 'pipefail'] def trace_timestamp = new java.util.Date().format( 'yyyy-MM-dd_HH-mm-ss') timeline { enabled = true - file = "${params.tracedir}/bacannot_timeline_${trace_timestamp}.html" + file = "${params.output}/pipeline_info/bacannot_timeline_${trace_timestamp}.html" } report { enabled = true - file = "${params.tracedir}/bacannot_report_${trace_timestamp}.html" + file = "${params.output}/pipeline_info/bacannot_report_${trace_timestamp}.html" } trace { enabled = true - file = "${params.tracedir}/bacannot_trace_${trace_timestamp}.txt" + file = "${params.output}/pipeline_info/bacannot_trace_${trace_timestamp}.txt" } dag { enabled = true - file = "${params.tracedir}/bacannot_pipeline_dag_${trace_timestamp}.svg" + file = "${params.output}/pipeline_info/bacannot_pipeline_dag_${trace_timestamp}.svg" } /* @@ -106,8 +107,8 @@ manifest { description = "Nextflow pipeline for bacterial genome annotation" homePage = "https://github.com/fmalmeida/bacannot" mainScript = "main.nf" - nextflowVersion = ">=20.10.0" - version = '3.2' + nextflowVersion = "!>=22.10.1" + version = '3.3' } // Function to ensure that resource requirements don't go beyond diff --git a/nextflow_schema.json b/nextflow_schema.json index 31ad9105..e95d3c34 100644 --- a/nextflow_schema.json +++ b/nextflow_schema.json @@ -11,10 +11,16 @@ "default": "", "properties": { "get_dbs": { - "type": "boolean" + "type": "boolean", + "description": "Download and build all the required databases on the fly (get today's version)" }, "force_update": { - "type": "boolean" + "type": "boolean", + "description": "Should we overwriting existing databases if any?" + }, + "get_zenodo_db": { + "type": "boolean", + "description": "Download latest pre-built databases from Zenodo?" } } }, @@ -28,6 +34,10 @@ "type": "string", "description": "Path to input samplesheet" }, + "enable_deduplication": { + "type": "boolean", + "description": "Execute deduplication on reads before assembly." + }, "output": { "type": "string", "description": "Path for output directory", @@ -53,15 +63,18 @@ "properties": { "max_cpus": { "type": "integer", - "default": 16 + "default": 16, + "description": "Maximum number of cpus a single module can use." }, "max_memory": { "type": "string", - "default": "20.GB" + "default": "20.GB", + "description": "Maximum memory a single module can use." }, "max_time": { "type": "string", - "default": "40.h" + "default": "40.h", + "description": "Maximum time a module can run." } } }, @@ -167,7 +180,7 @@ "plasmids_minid": { "type": "number", "description": "Identity threshold for plasmid annotation", - "default": 90.0, + "default": 90, "minimum": 0, "maximum": 100, "help_text": "Must be between 0 and 100", @@ -176,7 +189,7 @@ "plasmids_mincov": { "type": "number", "description": "overage threshold for plasmid annotation", - "default": 60.0, + "default": 60, "minimum": 0, "maximum": 100, "help_text": "Must be between 0 and 100", @@ -185,7 +198,7 @@ "blast_virulence_minid": { "type": "number", "description": "Identity threshold for virulence factors annotation", - "default": 90.0, + "default": 90, "minimum": 0, "maximum": 100, "help_text": "Must be between 0 and 100", @@ -194,7 +207,7 @@ "blast_virulence_mincov": { "type": "number", "description": "overage threshold for virulence factors annotation", - "default": 90.0, + "default": 90, "minimum": 0, "maximum": 100, "help_text": "Must be between 0 and 100", @@ -203,7 +216,7 @@ "blast_resistance_minid": { "type": "number", "description": "Identity threshold for resistance genes annotation", - "default": 90.0, + "default": 90, "minimum": 0, "maximum": 100, "help_text": "Must be between 0 and 100", @@ -212,7 +225,7 @@ "blast_resistance_mincov": { "type": "number", "description": "overage threshold for resistance genes annotation", - "default": 90.0, + "default": 90, "minimum": 0, "maximum": 100, "help_text": "Must be between 0 and 100", @@ -221,7 +234,7 @@ "blast_MGEs_minid": { "type": "number", "description": "Identity threshold for ICEs and prophages annotation", - "default": 85.0, + "default": 85, "minimum": 0, "maximum": 100, "help_text": "Must be between 0 and 100", @@ -230,7 +243,7 @@ "blast_MGEs_mincov": { "type": "number", "description": "overage threshold for ICEs and prophages annotation", - "default": 85.0, + "default": 85, "minimum": 0, "maximum": 100, "help_text": "Must be between 0 and 100", @@ -260,7 +273,7 @@ "blast_custom_minid": { "type": "number", "description": "Min. identity % for the annotation using user's custom database", - "default": 65.0, + "default": 65, "minimum": 0, "maximum": 100, "hidden": true @@ -268,7 +281,7 @@ "blast_custom_mincov": { "type": "number", "description": "Min. gene/subject coverage % for the annotation using user's custom database", - "default": 65.0, + "default": 65, "minimum": 0, "maximum": 100, "hidden": true @@ -292,6 +305,16 @@ "description": "Download template config for parameters", "fa_icon": "fas fa-question-circle" }, + "get_docker_config": { + "type": "boolean", + "description": "Download template docker config for containers.", + "fa_icon": "fas fa-question-circle" + }, + "get_singularity_config": { + "type": "boolean", + "description": "Download template singularity config for containers.", + "fa_icon": "fas fa-question-circle" + }, "get_samplesheet": { "type": "boolean", "fa_icon": "fas fa-question-circle", @@ -302,13 +325,6 @@ "help_text": "Number of minimum overlapping base pairs required for merging\nNegative values, such as -20, means the number of required overlapping bases for merging.\nPositive values, such as 5, means the maximum distance accepted between features for merging.\nBy default (if Blank), this process is not executed. For execution the user needs to provide a value", "description": "Minimum overlapping base pairs required for merging" }, - "tracedir": { - "type": "string", - "description": "Directory to keep pipeline Nextflow logs and reports.", - "default": "${params.output}/pipeline_info", - "fa_icon": "fas fa-cogs", - "hidden": true - }, "validate_params": { "type": "boolean", "description": "Boolean whether to validate parameters against the schema at runtime", @@ -326,17 +342,17 @@ "unicycler_version": { "type": "string", "description": "Select quay.io image tag for tool", - "default": "0.4.8--py38h8162308_3" + "default": "0.5.0--py310h6cc9453_3" }, "flye_version": { "type": "string", "description": "Select quay.io image tag for tool", - "default": "2.9--py39h39abbe0_0" + "default": "2.9--py39h6935b12_1" }, "bakta_version": { "type": "string", "description": "Select quay.io image tag for tool", - "default": "1.6.1--pyhdfd78af_0" + "default": "1.7.0--pyhdfd78af_1" } } }, diff --git a/workflows/bacannot.nf b/workflows/bacannot.nf index 57abf5d9..93087adf 100644 --- a/workflows/bacannot.nf +++ b/workflows/bacannot.nf @@ -14,12 +14,15 @@ include { KOFAMSCAN } from '../modules/KOs/kofamscan' include { KEGG_DECODER } from '../modules/KOs/kegg-decoder' include { PLASMIDFINDER } from '../modules/MGEs/plasmidfinder' include { PLATON } from '../modules/MGEs/platon' +include { MOBSUITE } from '../modules/MGEs/mob_suite' include { VFDB } from '../modules/virulence/vfdb' include { VICTORS } from '../modules/virulence/victors' include { PHAST } from '../modules/prophages/phast' include { PHIGARO } from '../modules/prophages/phigaro' include { PHISPY } from '../modules/prophages/phispy' include { ICEBERG } from '../modules/MGEs/iceberg' +include { INTEGRON_FINDER } from '../modules/MGEs/integron_finder' +include { INTEGRON_FINDER_2GFF } from '../modules/MGEs/integron_finder_2gff' include { ISLANDPATH } from '../modules/MGEs/islandpath' include { DRAW_GIS } from '../modules/MGEs/draw_gis' include { DIGIS } from '../modules/MGEs/digIS' @@ -120,16 +123,26 @@ workflow BACANNOT { PLATON( annotation_out_ch.genome, dbs_ch ) platon_output_ch = PLATON.out.results platon_all_ch = PLATON.out.all + // mob suite + MOBSUITE( annotation_out_ch.genome ) + mobsuite_output_ch = MOBSUITE.out.results } else { plasmidfinder_all_ch = Channel.empty() plasmidfinder_output_ch = Channel.empty() platon_output_ch = Channel.empty() platon_all_ch = Channel.empty() + mobsuite_output_ch = Channel.empty() } + // TODO: Maybe add in MGE optional? + // IslandPath software ISLANDPATH( annotation_out_ch.gbk ) + // Integron_finder software + INTEGRON_FINDER( annotation_out_ch.genome ) + INTEGRON_FINDER_2GFF( INTEGRON_FINDER.out.gbk ) + // Virulence search if (params.skip_virulence_search == false) { // VFDB @@ -286,7 +299,8 @@ workflow BACANNOT { .join(iceberg_output_blastp_ch, remainder: true) .join(phast_output_ch, remainder: true) .join(DIGIS.out.gff, remainder: true) - .join(ch_custom_annotations, remainder: true) + .join(ch_custom_annotations, remainder: true) + .join(INTEGRON_FINDER_2GFF.out.gff, remainder: true) ) /* @@ -326,6 +340,7 @@ workflow BACANNOT { .join( MERGE_ANNOTATIONS.out.digis_gff ) .join( antismash_output_ch, remainder: true ) .join( MERGE_ANNOTATIONS.out.customdb_gff.groupTuple(), remainder: true ) + .join( INTEGRON_FINDER_2GFF.out.gff, remainder: true ) ) // Render reports @@ -357,9 +372,11 @@ workflow BACANNOT { .join( iceberg_output_blastn_ch, remainder: true ) .join( plasmidfinder_output_ch, remainder: true ) .join( platon_output_ch, remainder: true ) + .join( mobsuite_output_ch, remainder: true ) .join( DRAW_GIS.out.example, remainder: true ) .join( phast_output_ch, remainder: true ) .join( MERGE_ANNOTATIONS.out.digis_gff ) + .join( INTEGRON_FINDER_2GFF.out.gff, remainder: true ) ) // @@ -367,27 +384,29 @@ workflow BACANNOT { // SUMMARY( annotation_out_ch.all - .join( MLST.out.all , remainder: true ) - .join( BARRNAP.out.all , remainder: true ) - .join( kofamscan_all_ch , remainder: true ) - .join( plasmidfinder_all_ch , remainder: true ) - .join( platon_all_ch , remainder: true ) - .join( ISLANDPATH.out.results , remainder: true ) - .join( vfdb_all_ch , remainder: true ) - .join( victors_all_ch , remainder: true ) - .join( phast_all_ch , remainder: true ) - .join( phigaro_all_ch , remainder: true ) - .join( phispy_all_ch , remainder: true ) - .join( iceberg_all_ch , remainder: true ) - .join( amrfinder_all_ch , remainder: true ) - .join( rgi_all_ch , remainder: true ) - .join( argminer_all_ch , remainder: true ) - .join( resfinder_all_ch , remainder: true ) - .join( CALL_METHYLATION.out.all , remainder: true ) - .join( REFSEQ_MASHER.out.results, remainder: true ) - .join( DIGIS.out.all , remainder: true ) - .join( antismash_all_ch , remainder: true ) - .join( MERGE_ANNOTATIONS.out.all, remainder: true ) + .join( MLST.out.all , remainder: true ) + .join( BARRNAP.out.all , remainder: true ) + .join( kofamscan_all_ch , remainder: true ) + .join( plasmidfinder_all_ch , remainder: true ) + .join( platon_all_ch , remainder: true ) + .join( ISLANDPATH.out.results , remainder: true ) + .join( vfdb_all_ch , remainder: true ) + .join( victors_all_ch , remainder: true ) + .join( phast_all_ch , remainder: true ) + .join( phigaro_all_ch , remainder: true ) + .join( phispy_all_ch , remainder: true ) + .join( iceberg_all_ch , remainder: true ) + .join( amrfinder_all_ch , remainder: true ) + .join( rgi_all_ch , remainder: true ) + .join( argminer_all_ch , remainder: true ) + .join( resfinder_all_ch , remainder: true ) + .join( CALL_METHYLATION.out.all , remainder: true ) + .join( REFSEQ_MASHER.out.results , remainder: true ) + .join( DIGIS.out.all , remainder: true ) + .join( antismash_all_ch , remainder: true ) + .join( MERGE_ANNOTATIONS.out.all , remainder: true ) + .join( INTEGRON_FINDER_2GFF.out.gff, remainder: true ) + .join( mobsuite_output_ch , remainder: true ) ) MERGE_SUMMARIES( SUMMARY.out.summaries.map{ it[1] }.collect() diff --git a/workflows/bacannot_dbs.nf b/workflows/bacannot_dbs.nf index c44d4d36..ca6c76e3 100644 --- a/workflows/bacannot_dbs.nf +++ b/workflows/bacannot_dbs.nf @@ -16,6 +16,7 @@ include { ICEBERG_DB } from '../modules/bacannot_dbs/iceberg.nf' include { PHAST_DB } from '../modules/bacannot_dbs/phast.nf' include { KOFAMSCAN_DB } from '../modules/bacannot_dbs/kofamscan.nf' include { ANTISMASH_DB } from '../modules/bacannot_dbs/antismash.nf' +include { GET_ZENODO_DB } from '../modules/bacannot_dbs/get_zenodo.nf' /* DEF WORKFLOW @@ -23,21 +24,25 @@ include { ANTISMASH_DB } from '../modules/bacannot_dbs/antismash.nf' workflow CREATE_DBS { - download_db("prokka", "PROKKA_DB") - download_db("mlst", "MLST_DB") - download_db("kofamscan", "KOFAMSCAN_DB") - download_db("card", "CARD_DB") - download_db("resfinder", "RESFINDER_DB") - download_db("amrfinder", "AMRFINDER_DB") - download_db("argminer", "ARGMINER_DB") - download_db("platon", "PLATON_DB") - download_db("plasmidfinder", "PLASMIDFINDER_DB") - download_db("phigaro", "PHIGARO_DB") - download_db("phast", "PHAST_DB") - download_db("vfdb", "VFDB_DB") - download_db("victors", "VICTORS_DB") - download_db("iceberg", "ICEBERG_DB") - download_db("antismash", "ANTISMASH_DB") + if ( params.get_dbs && !params.get_zenodo_db ) { + download_db("prokka", "PROKKA_DB") + download_db("mlst", "MLST_DB") + download_db("kofamscan", "KOFAMSCAN_DB") + download_db("card", "CARD_DB") + download_db("resfinder", "RESFINDER_DB") + download_db("amrfinder", "AMRFINDER_DB") + download_db("argminer", "ARGMINER_DB") + download_db("platon", "PLATON_DB") + download_db("plasmidfinder", "PLASMIDFINDER_DB") + download_db("phigaro", "PHIGARO_DB") + download_db("phast", "PHAST_DB") + download_db("vfdb", "VFDB_DB") + download_db("victors", "VICTORS_DB") + download_db("iceberg", "ICEBERG_DB") + download_db("antismash", "ANTISMASH_DB") + } else if ( !params.get_dbs && params.get_zenodo_db ) { + GET_ZENODO_DB() + } } From 529d41438554f4475c7174ee9c700ff45a117048 Mon Sep 17 00:00:00 2001 From: Felipe Marques de Almeida Date: Sun, 29 Oct 2023 08:49:11 +0100 Subject: [PATCH 15/42] 111 error on summary step when missing annotationidtxt key (#112) * update for dev-testing * adapt to antismash lite as the normal installation is horrible * change for dev image * updated docker image with stable 1.2.4 release of falmeida-py package for bugfix * update changelog --- conf/docker.config | 2 +- conf/singularity.config | 2 +- docker/misc/Dockerfile | 2 +- docs/installation.md | 4 ++-- markdown/CHANGELOG.md | 4 ++++ 5 files changed, 9 insertions(+), 5 deletions(-) diff --git a/conf/docker.config b/conf/docker.config index 28ffa1ab..8ad97a72 100644 --- a/conf/docker.config +++ b/conf/docker.config @@ -18,7 +18,7 @@ process { // Custom pipeline's containers with various tools for general purposes // withLabel: 'db_download|db_tools|misc' { - container = 'fmalmeida/bacannot@sha256:726e085f1bd71b47c2d8a38fd46d812aab7eb8978bab7bf3cde3aa2b7b3e0f2c' + container = 'fmalmeida/bacannot@sha256:0648797837cd8e11b6abd40745cafc0db81647953921ec54ce0ceef9ecef6450' } // container for R tools diff --git a/conf/singularity.config b/conf/singularity.config index f75a7559..57f949cf 100644 --- a/conf/singularity.config +++ b/conf/singularity.config @@ -18,7 +18,7 @@ process { // Custom pipeline's containers with various tools for general purposes // withLabel: 'db_download|db_tools|misc' { - container = 'docker://fmalmeida/bacannot@sha256:726e085f1bd71b47c2d8a38fd46d812aab7eb8978bab7bf3cde3aa2b7b3e0f2c' + container = 'docker://fmalmeida/bacannot@sha256:0648797837cd8e11b6abd40745cafc0db81647953921ec54ce0ceef9ecef6450' } // container for R tools diff --git a/docker/misc/Dockerfile b/docker/misc/Dockerfile index 3e7c3422..844526a9 100644 --- a/docker/misc/Dockerfile +++ b/docker/misc/Dockerfile @@ -81,7 +81,7 @@ ENV PATH=/work/digIS:$PATH # Create env for antismash RUN mamba create -y -n antismash -c bioconda -c conda-forge \ - 'bioconda::antismash>=6' 'anaconda::flask' 'anaconda::jinja2' 'anaconda::markupsafe' nomkl && \ + 'bioconda::antismash-lite>=6' 'anaconda::flask' 'anaconda::jinja2' 'anaconda::markupsafe' nomkl && \ rm -rf /opt/conda/envs/antismash/lib/*/site-packages/antismash/databases && \ mamba clean -afy diff --git a/docs/installation.md b/docs/installation.md index 8035ba43..81453f9d 100644 --- a/docs/installation.md +++ b/docs/installation.md @@ -29,7 +29,7 @@ The images are defined like the following: ```bash ... withLabel: 'db_download|db_tools|misc' { - container = 'fmalmeida/bacannot@sha256:726e085f1bd71b47c2d8a38fd46d812aab7eb8978bab7bf3cde3aa2b7b3e0f2c' + container = 'fmalmeida/bacannot@sha256:0648797837cd8e11b6abd40745cafc0db81647953921ec54ce0ceef9ecef6450' } ... ``` @@ -37,7 +37,7 @@ withLabel: 'db_download|db_tools|misc' { And could be downloaded like this: ```bash -docker pull fmalmeida/bacannot@sha256:726e085f1bd71b47c2d8a38fd46d812aab7eb8978bab7bf3cde3aa2b7b3e0f2c +docker pull fmalmeida/bacannot@sha256:0648797837cd8e11b6abd40745cafc0db81647953921ec54ce0ceef9ecef6450 ``` > You would need to do it for each image. diff --git a/markdown/CHANGELOG.md b/markdown/CHANGELOG.md index c5bbbec5..74a34f9f 100644 --- a/markdown/CHANGELOG.md +++ b/markdown/CHANGELOG.md @@ -2,6 +2,10 @@ The tracking for changes started in v2.1 +## v3.3.1 [TBD] + +* [[#111](https://github.com/fmalmeida/bacannot/issues/111)] -- Updated `falmeida-py` package version to fix problem with missing key for Summary. + ## v3.3 [01-October-2023] * [[#50](https://github.com/fmalmeida/bacannot/issues/50)] -- Add `Integron Finder` tool to the pipeline From 9f1ed94ee334149326e5d786c7e00a4185245d1c Mon Sep 17 00:00:00 2001 From: Felipe Marques de Almeida Date: Sun, 29 Oct 2023 08:53:03 +0100 Subject: [PATCH 16/42] Wrap-up patch release v3.3.1 (#113) * Add pre-formatted database (#82) * add pre-formatted database info * add information about pre-formatted database * 50 add tool integron finder 20 (#87) * update version * Add pre-formatted database (#83) * add pre-formatted database info * add information about pre-formatted database * update falmeida-py package * change version * change main tools to public containers * use biocontainer * aggregate other non-biocontainer tools and diminish the size of docker images * update module labels * re-arranged docker images * add integron_finder module * update amrfinder version * trying to addintegron finder to gff * update docker * fixed image install * fixed integron finder 2 gff * remove unnecessary grouptuple * fix image and emboss module * fix organization * add docker image to module * fix indentation * fix indentation * added integron finder results to final GFF and JBROWSE * integron finder results added to HTML report * fix docker image * properly added to json summary * update changelog * update readme * update list of tools * update default config in docs * backscape tildes * update installation docs * fix indentation * update outputs docs * fix wrong pipeline name * fix typo * update quickstart * fixed mlst execution in singularity * fix indentation * 85 prokka module can get after modules stuck if the header file longer than 20 and not separated by tab or space (#89) * add awk command to clean big fasta headers * add awk statement to clean big fasta headers * update bakta version * fix bakta stats parsing * 81 add tool mob suite (#90) * Add pre-formatted database (#83) * add pre-formatted database info * add information about pre-formatted database * add mob suite module * added results to HTML report * Update Dockerfile * added mob_suite to json summary * add tool to markdown files * add tool information to docs * add example reports * update singularity config * fixed kofamscan download * fix dockerfile * Fix unicycler tag * use only docker images to avoid timeout error * use docker ocntainer to avoid singularity timeout * fixed resfinder for singularity * fixed docker image * fix gff2sql in singularity * use proper singularity images * fix singularity image download * fixed docker image * Add option for prebuilt db download (#94) * include module to download pre-built databases * update docs * 69 tools to use own docker image (#91) * moved container configurations of assembly modules * update default flye version * update container configuration for database-setup modules * re-organize container definition of 'generic' modules * reorganize container configuration for KO modules * reorganized container configuration for MGEs modules * finalizing container configuration reorganization of last modules * containers already defined in config files * update params schema * fixed zenodo download * mob_suite singularity image not always suited for low connection servers * add option to download container configs * update unicycler version (0.5.0--py310h6cc9453_3) * 96 error summary for bugfix release (#101) Update falmeida-py version * 98 include ices and prophage annotation in json summary (#106) * Try Dockerfile fix * Update Dockerfile * Update Dockerfile * Update CHANGELOG.md * 100 update pipeline docker images from docker tags to docker shasum (#108) * fix singularity run options * fix misc dockerfile * update renv docker image environment * update docker images to use shasum * Update CHANGELOG.md * 107 duplicate reads to unique read names (#109) * Add pre-formatted database (#83) * add pre-formatted database info * add information about pre-formatted database * update docs and fix report links * include information of newly known issues (#103) * add parameter to enable deduplication of reads * Update manual.md * update changelog * Update docs for v3.3 (#110) * update cli help * Update installation.md * add indentation * Update README.md * Update README.md * fix tracedir * always show from copy * Update quickstart.md * Update manual.md * update citation information * add citation example * Update CHANGELOG.md * 111 error on summary step when missing annotationidtxt key (#112) * update for dev-testing * adapt to antismash lite as the normal installation is horrible * change for dev image * updated docker image with stable 1.2.4 release of falmeida-py package for bugfix * update changelog --- conf/docker.config | 2 +- conf/singularity.config | 2 +- docker/misc/Dockerfile | 2 +- docs/installation.md | 4 ++-- markdown/CHANGELOG.md | 4 ++++ 5 files changed, 9 insertions(+), 5 deletions(-) diff --git a/conf/docker.config b/conf/docker.config index 28ffa1ab..8ad97a72 100644 --- a/conf/docker.config +++ b/conf/docker.config @@ -18,7 +18,7 @@ process { // Custom pipeline's containers with various tools for general purposes // withLabel: 'db_download|db_tools|misc' { - container = 'fmalmeida/bacannot@sha256:726e085f1bd71b47c2d8a38fd46d812aab7eb8978bab7bf3cde3aa2b7b3e0f2c' + container = 'fmalmeida/bacannot@sha256:0648797837cd8e11b6abd40745cafc0db81647953921ec54ce0ceef9ecef6450' } // container for R tools diff --git a/conf/singularity.config b/conf/singularity.config index f75a7559..57f949cf 100644 --- a/conf/singularity.config +++ b/conf/singularity.config @@ -18,7 +18,7 @@ process { // Custom pipeline's containers with various tools for general purposes // withLabel: 'db_download|db_tools|misc' { - container = 'docker://fmalmeida/bacannot@sha256:726e085f1bd71b47c2d8a38fd46d812aab7eb8978bab7bf3cde3aa2b7b3e0f2c' + container = 'docker://fmalmeida/bacannot@sha256:0648797837cd8e11b6abd40745cafc0db81647953921ec54ce0ceef9ecef6450' } // container for R tools diff --git a/docker/misc/Dockerfile b/docker/misc/Dockerfile index 3e7c3422..844526a9 100644 --- a/docker/misc/Dockerfile +++ b/docker/misc/Dockerfile @@ -81,7 +81,7 @@ ENV PATH=/work/digIS:$PATH # Create env for antismash RUN mamba create -y -n antismash -c bioconda -c conda-forge \ - 'bioconda::antismash>=6' 'anaconda::flask' 'anaconda::jinja2' 'anaconda::markupsafe' nomkl && \ + 'bioconda::antismash-lite>=6' 'anaconda::flask' 'anaconda::jinja2' 'anaconda::markupsafe' nomkl && \ rm -rf /opt/conda/envs/antismash/lib/*/site-packages/antismash/databases && \ mamba clean -afy diff --git a/docs/installation.md b/docs/installation.md index 8035ba43..81453f9d 100644 --- a/docs/installation.md +++ b/docs/installation.md @@ -29,7 +29,7 @@ The images are defined like the following: ```bash ... withLabel: 'db_download|db_tools|misc' { - container = 'fmalmeida/bacannot@sha256:726e085f1bd71b47c2d8a38fd46d812aab7eb8978bab7bf3cde3aa2b7b3e0f2c' + container = 'fmalmeida/bacannot@sha256:0648797837cd8e11b6abd40745cafc0db81647953921ec54ce0ceef9ecef6450' } ... ``` @@ -37,7 +37,7 @@ withLabel: 'db_download|db_tools|misc' { And could be downloaded like this: ```bash -docker pull fmalmeida/bacannot@sha256:726e085f1bd71b47c2d8a38fd46d812aab7eb8978bab7bf3cde3aa2b7b3e0f2c +docker pull fmalmeida/bacannot@sha256:0648797837cd8e11b6abd40745cafc0db81647953921ec54ce0ceef9ecef6450 ``` > You would need to do it for each image. diff --git a/markdown/CHANGELOG.md b/markdown/CHANGELOG.md index c5bbbec5..17d2c229 100644 --- a/markdown/CHANGELOG.md +++ b/markdown/CHANGELOG.md @@ -2,6 +2,10 @@ The tracking for changes started in v2.1 +## v3.3.1 [29-October-2023] + +* [[#111](https://github.com/fmalmeida/bacannot/issues/111)] -- Updated `falmeida-py` package version to fix problem with missing key for Summary. + ## v3.3 [01-October-2023] * [[#50](https://github.com/fmalmeida/bacannot/issues/50)] -- Add `Integron Finder` tool to the pipeline From 9fe20e536fcecbe83162831d255a71a556f4c125 Mon Sep 17 00:00:00 2001 From: Felipe Marques de Almeida Date: Mon, 13 Nov 2023 17:13:39 +0100 Subject: [PATCH 17/42] Update aro tsv --- assets/aro_index.tsv | 325 ++++++++++++++++++++++++++++++++----------- 1 file changed, 241 insertions(+), 84 deletions(-) diff --git a/assets/aro_index.tsv b/assets/aro_index.tsv index d76d4534..e97c638c 100644 --- a/assets/aro_index.tsv +++ b/assets/aro_index.tsv @@ -1,6 +1,5 @@ ARO Accession CVTERM ID Model Sequence ID Model ID Model Name ARO Name Protein Accession DNA Accession AMR Gene Family Drug Class Resistance Mechanism CARD Short Name ARO:3005099 43314 6143 3831 23S rRNA (adenine(2058)-N(6))-methyltransferase Erm(A) 23S rRNA (adenine(2058)-N(6))-methyltransferase Erm(A) AAB60941.1 AF002716.1 Erm 23S ribosomal RNA methyltransferase lincosamide antibiotic;macrolide antibiotic;streptogramin antibiotic antibiotic target alteration Spyo_ErmA_MLSb -ARO:3000317 36456 51 874 AAC(1) AAC(1)-I ADH03009.1 HM036080.1 AAC(1) aminoglycoside antibiotic antibiotic inactivation AAC(1)-I ARO:3002523 38923 8144 1781 AAC(2')-Ia AAC(2')-Ia AAA03550.1 L06156.2 AAC(2') aminoglycoside antibiotic antibiotic inactivation AAC(2')-Ia ARO:3002524 38924 85 746 AAC(2')-Ib AAC(2')-Ib AAC44793.1 U41471.1 AAC(2') aminoglycoside antibiotic antibiotic inactivation AAC(2')-Ib ARO:3002525 38925 4719 1246 AAC(2')-Ic AAC(2')-Ic CCP42991.1 AL123456.3 AAC(2') aminoglycoside antibiotic antibiotic inactivation AAC(2')-Ic @@ -10,7 +9,7 @@ ARO:3004628 42613 5361 3327 AAC(2')-IIa AAC(2')-IIa BAM16262.1 AB669090.1 AAC(2' ARO:3003988 40870 3860 2524 AAC(2')-IIb AAC(2')-IIb APB03221.1 KX531051.1 AAC(2') aminoglycoside antibiotic antibiotic inactivation AAC(2')-IIb ARO:3002528 38928 8360 39 AAC(3)-Ia AAC(3)-Ia AAG15269.1 U12338.3 AAC(3) aminoglycoside antibiotic antibiotic inactivation AAC(3)-Ia ARO:3002530 38930 224 575 AAC(3)-Ib AAC(3)-Ib AAA88422.1 L06157.1 AAC(3) aminoglycoside antibiotic antibiotic inactivation AAC(3)-Ib -ARO:3002600 39000 271 209 AAC(3)-Ib/AAC(6')-Ib'' AAC(3)-Ib/AAC(6')-Ib'' fusion protein AAL82588.1 AF355189.1 AAC(3);AAC(6') aminoglycoside antibiotic antibiotic inactivation AAC_3Ib_AAC_6Ib +ARO:3002600 39000 271 209 AAC(3)-Ib/AAC(6')-Ib'' AAC(3)-Ib/AAC(6')-Ib3 bifunctional protein AAL82588.1 AF355189.1 aminoglycoside bifunctional resistance protein aminoglycoside antibiotic antibiotic inactivation AAC_3Ib_AAC_6Ib ARO:3002531 38931 47 1131 AAC(3)-Ic AAC(3)-Ic CAD53575.1 AJ511268.1 AAC(3) aminoglycoside antibiotic antibiotic inactivation AAC(3)-Ic ARO:3002529 38929 223 742 AAC(3)-Id AAC(3)-Id AAR21614.1 AY458224.1 AAC(3) aminoglycoside antibiotic antibiotic inactivation AAC(3)-Id ARO:3002533 38933 4266 478 AAC(3)-IIa AAC(3)-IIa CAA31895.1 X13543.1 AAC(3) aminoglycoside antibiotic antibiotic inactivation AAC(3)-IIa @@ -22,7 +21,7 @@ ARO:3005085 43296 6120 3820 AAC(3)-IIg AAC(3)-IIg QKT21444.1 MT090547.1 AAC(3) a ARO:3002536 38936 6 1879 AAC(3)-IIIa AAC(3)-IIIa CAA39184.1 X55652.1 AAC(3) aminoglycoside antibiotic antibiotic inactivation AAC(3)-IIIa ARO:3002537 38937 5232 410 AAC(3)-IIIb AAC(3)-IIIb KSC15183.1 LLLC01000048.1 AAC(3) aminoglycoside antibiotic antibiotic inactivation AAC(3)-IIIb ARO:3002538 38938 9 51 AAC(3)-IIIc AAC(3)-IIIc AAA25683.1 L06161.1 AAC(3) aminoglycoside antibiotic antibiotic inactivation AAC(3)-IIIc -ARO:3002539 38939 3715 639 AAC(3)-IV AAC(3)-IV ABB43029.1 DQ241380.1 AAC(3) aminoglycoside antibiotic antibiotic inactivation AAC(3)-IV +ARO:3002539 38939 3715 639 AAC(3)-IVa AAC(3)-IVa ABB43029.1 DQ241380.1 AAC(3) aminoglycoside antibiotic antibiotic inactivation AAC(3)-IVa ARO:3005061 43265 6130 3801 AAC(3)-IVb AAC(3)-IVb QEQ43476.1 MN366378.1 AAC(3) aminoglycoside antibiotic antibiotic inactivation AAC(3)-IVb ARO:3002543 38943 655 2030 AAC(3)-IXa AAC(3)-IXa AAA25334.1 M55427.1 AAC(3) aminoglycoside antibiotic antibiotic inactivation AAC(3)-IXa ARO:3002540 38940 659 1105 AAC(3)-VIa AAC(3)-VIa AAA16194.1 M88012.1 AAC(3) aminoglycoside antibiotic antibiotic inactivation AAC(3)-VIa @@ -31,18 +30,19 @@ ARO:3002542 38942 12 501 AAC(3)-VIIIa AAC(3)-VIIIa AAA26685.1 M55426.1 AAC(3) am ARO:3002544 38944 4702 1483 AAC(3)-Xa AAC(3)-Xa BAA78619.1 AB028210.1 AAC(3) aminoglycoside antibiotic antibiotic inactivation AAC(3)-Xa ARO:3002583 38983 5868 300 AAC(6')-29a AAC(6')-29a WP_064190968.1 NG_048575.1 AAC(6') aminoglycoside antibiotic antibiotic inactivation AAC(6')-29a ARO:3002584 38984 5898 659 AAC(6')-29b AAC(6')-29b WP_064190969.1 NG_048576.1 AAC(6') aminoglycoside antibiotic antibiotic inactivation AAC(6')-29b -ARO:3002599 38999 8193 922 AAC(6')-30/AAC(6')-Ib' fusion protein AAC(6')-30/AAC(6')-Ib' fusion protein CAE48335.2 AJ584652.2 AAC(6') aminoglycoside antibiotic antibiotic inactivation AAC6_30_AAC6_Ib +ARO:3002599 38999 8193 922 AAC(6')-30/AAC(6')-Ib' bifunctional protein AAC(6')-30/AAC(6')-Ib' bifunctional protein CAE48335.2 AJ584652.2 aminoglycoside bifunctional resistance protein aminoglycoside antibiotic antibiotic inactivation AAC6_30_AAC6_Ib ARO:3002585 38985 267 1093 AAC(6')-31 AAC(6')-31 CAK55557.1 AM283489.1 AAC(6') aminoglycoside antibiotic antibiotic inactivation AAC(6')-31 ARO:3002586 38986 310 1577 AAC(6')-32 AAC(6')-32 ABR10839.1 EF614235.1 AAC(6') aminoglycoside antibiotic antibiotic inactivation AAC(6')-32 -ARO:3002587 38987 362 924 AAC(6')-33 AAC(6')-33 AEZ05106.1 JN596280.1 AAC(6') aminoglycoside antibiotic antibiotic inactivation AAC(6')-33 ARO:3003989 40871 3861 2525 AAC(6')-34 AAC(6')-34 APB03223.1 KX531053.1 AAC(6') aminoglycoside antibiotic antibiotic inactivation AAC(6')-34 ARO:3002588 38988 399 1365 AAC(6')-I30 AAC(6')-I30 AAP43642.1 AY289608.1 AAC(6') aminoglycoside antibiotic antibiotic inactivation AAC(6')-I30 +ARO:3002587 38987 362 924 AAC(6')-I33 AAC(6')-I33 AEZ05106.1 JN596280.1 AAC(6') aminoglycoside antibiotic antibiotic inactivation AAC(6')-I33 +ARO:3004641 42650 5464 3340 AAC(6')-I-43 AAC(6')-I-43 AEA07977.1 HQ247816.1 AAC(6') aminoglycoside antibiotic antibiotic inactivation AAC(6')-I-43 +ARO:3004638 42632 5449 3338 AAC(6')-I-48 AAC(6')-I-48 BAN78519.1 AB472901.2 AAC(6') aminoglycoside antibiotic antibiotic inactivation AAC(6')-I-48 ARO:3002545 38945 547 574 AAC(6')-Ia AAC(6')-Ia AAA98298.1 M18967.1 AAC(6') aminoglycoside antibiotic antibiotic inactivation AAC(6')-Ia ARO:3002571 38971 5208 1526 AAC(6')-Iaa AAC(6')-Iaa AAL20537.1 AE006468.2 AAC(6') aminoglycoside antibiotic antibiotic inactivation AAC(6')-Iaa ARO:3002572 38972 264 1911 AAC(6')-Iad AAC(6')-Iad BAD12078.1 AB119105.1 AAC(6') aminoglycoside antibiotic antibiotic inactivation AAC(6')-Iad ARO:3002573 38973 583 738 AAC(6')-Iae AAC(6')-Iae BAD14386.1 AB104852.1 AAC(6') aminoglycoside antibiotic antibiotic inactivation AAC(6')-Iae ARO:3002574 38974 672 156 AAC(6')-Iaf AAC(6')-Iaf BAH66386.1 AB462903.1 AAC(6') aminoglycoside antibiotic antibiotic inactivation AAC(6')-Iaf -ARO:3004638 42632 5449 3338 AAC(6')-Iag AAC(6')-Iag BAN78519.1 AB472901.2 AAC(6') aminoglycoside antibiotic antibiotic inactivation AAC(6')-Iag ARO:3002575 38975 708 1602 AAC(6')-Iai AAC(6')-Iai ACI28880.1 EU886977.1 AAC(6') aminoglycoside antibiotic antibiotic inactivation AAC(6')-Iai ARO:3003677 40309 3379 2191 AAC(6')-Iaj AAC(6')-Iaj BAM46120.1 AB709942.1 AAC(6') aminoglycoside antibiotic antibiotic inactivation AAC(6')-Iaj ARO:3003199 39782 4672 1909 AAC(6')-Iak AAC(6')-Iak BAO21229.1 AB894482.1 AAC(6') aminoglycoside antibiotic antibiotic inactivation AAC(6')-Iak @@ -57,19 +57,19 @@ ARO:3002577 38977 401 1002 AAC(6')-Ib4 AAC(6')-Ib4 AAL38577.1 AF445082.1 AAC(6') ARO:3002578 38978 5850 2117 AAC(6')-Ib7 AAC(6')-Ib7 AKN19287.1 KR091911.1 AAC(6') aminoglycoside antibiotic antibiotic inactivation AAC(6')-Ib7 ARO:3002579 38979 5456 2071 AAC(6')-Ib8 AAC(6')-Ib8 AIK02012.1 KF998105.1 AAC(6') aminoglycoside antibiotic antibiotic inactivation AAC(6')-Ib8 ARO:3002580 38980 463 993 AAC(6')-Ib9 AAC(6')-Ib9 AAD02244.1 AF043381.1 AAC(6') aminoglycoside antibiotic antibiotic inactivation AAC(6')-Ib9 -ARO:3002547 38947 6152 1678 AAC(6')-Ib-cr1 AAC(6')-Ib-cr1 WP_071846215.1 NG_052213.1 AAC(6')-Ib-cr aminoglycoside antibiotic;fluoroquinolone antibiotic antibiotic inactivation AAC(6')-Ib-cr1 -ARO:3005112 43327 6153 3840 AAC(6')-Ib-cr3 AAC(6')-Ib-cr3 ADY02579.1 HQ170516.1 AAC(6')-Ib-cr aminoglycoside antibiotic;fluoroquinolone antibiotic antibiotic inactivation AAC(6')-Ib-cr3 -ARO:3005114 43329 6154 3841 AAC(6')-Ib-cr4 AAC(6')-Ib-cr4 KJX28101.1 JZKY01000061.1 AAC(6')-Ib-cr aminoglycoside antibiotic;fluoroquinolone antibiotic antibiotic inactivation AAC(6')-Ib-cr4 -ARO:3005115 43331 6155 3842 AAC(6')-Ib-cr5 AAC(6')-Ib-cr5 ABX24471.1 EU161636.1 AAC(6')-Ib-cr aminoglycoside antibiotic;fluoroquinolone antibiotic antibiotic inactivation AAC(6')-Ib-cr5 -ARO:3005116 43332 6156 3843 AAC(6')-Ib-cr6 AAC(6')-Ib-cr6 ACD56150.1 EU675686.2 AAC(6')-Ib-cr aminoglycoside antibiotic;fluoroquinolone antibiotic antibiotic inactivation AAC(6')-Ib-cr6 -ARO:3005117 43333 6157 3844 AAC(6')-Ib-cr7 AAC(6')-Ib-cr7 NON98701.1 JABGAB010000032.1 AAC(6')-Ib-cr aminoglycoside antibiotic;fluoroquinolone antibiotic antibiotic inactivation AAC(6')-Ib-cr7 -ARO:3005118 43334 6158 3845 AAC(6')-Ib-cr8 AAC(6')-Ib-cr8 AZK52946.1 CP034250.1 AAC(6')-Ib-cr aminoglycoside antibiotic;fluoroquinolone antibiotic antibiotic inactivation AAC(6')-Ib-cr8 -ARO:3005119 43335 6159 3846 AAC(6')-Ib-cr9 AAC(6')-Ib-cr9 AYD68572.1 MH569711.1 AAC(6')-Ib-cr aminoglycoside antibiotic;fluoroquinolone antibiotic antibiotic inactivation AAC(6')-Ib-cr9 +ARO:3002547 38947 6152 1678 AAC(6')-Ib-cr1 AAC(6')-Ib-cr1 WP_071846215.1 NG_052213.1 AAC(6');AAC(6')-Ib-cr aminoglycoside antibiotic;fluoroquinolone antibiotic antibiotic inactivation AAC(6')-Ib-cr1 +ARO:3005112 43327 6153 3840 AAC(6')-Ib-cr3 AAC(6')-Ib-cr3 ADY02579.1 HQ170516.1 AAC(6');AAC(6')-Ib-cr aminoglycoside antibiotic;fluoroquinolone antibiotic antibiotic inactivation AAC(6')-Ib-cr3 +ARO:3005114 43329 6154 3841 AAC(6')-Ib-cr4 AAC(6')-Ib-cr4 KJX28101.1 JZKY01000061.1 AAC(6');AAC(6')-Ib-cr aminoglycoside antibiotic;fluoroquinolone antibiotic antibiotic inactivation AAC(6')-Ib-cr4 +ARO:3005115 43331 6155 3842 AAC(6')-Ib-cr5 AAC(6')-Ib-cr5 ABX24471.1 EU161636.1 AAC(6');AAC(6')-Ib-cr aminoglycoside antibiotic;fluoroquinolone antibiotic antibiotic inactivation AAC(6')-Ib-cr5 +ARO:3005116 43332 6156 3843 AAC(6')-Ib-cr6 AAC(6')-Ib-cr6 ACD56150.1 EU675686.2 AAC(6');AAC(6')-Ib-cr aminoglycoside antibiotic;fluoroquinolone antibiotic antibiotic inactivation AAC(6')-Ib-cr6 +ARO:3005117 43333 6157 3844 AAC(6')-Ib-cr7 AAC(6')-Ib-cr7 NON98701.1 JABGAB010000032.1 AAC(6');AAC(6')-Ib-cr aminoglycoside antibiotic;fluoroquinolone antibiotic antibiotic inactivation AAC(6')-Ib-cr7 +ARO:3005118 43334 6158 3845 AAC(6')-Ib-cr8 AAC(6')-Ib-cr8 AZK52946.1 CP034250.1 AAC(6');AAC(6')-Ib-cr aminoglycoside antibiotic;fluoroquinolone antibiotic antibiotic inactivation AAC(6')-Ib-cr8 +ARO:3005119 43335 6159 3846 AAC(6')-Ib-cr9 AAC(6')-Ib-cr9 AYD68572.1 MH569711.1 AAC(6');AAC(6')-Ib-cr aminoglycoside antibiotic;fluoroquinolone antibiotic antibiotic inactivation AAC(6')-Ib-cr9 ARO:3002592 38992 29 1000 AAC(6')-Ib-Hangzhou AAC(6')-Ib-Hangzhou ACL37342.1 FJ503047.1 AAC(6') aminoglycoside antibiotic antibiotic inactivation AAC6_IB_HZ ARO:3002593 38993 360 1024 AAC(6')-Ib-SK AAC(6')-Ib-SK BAD11815.1 AB164230.1 AAC(6') aminoglycoside antibiotic antibiotic inactivation AAC(6')-Ib-SK ARO:3002591 38991 83 444 AAC(6')-Ib-Suzhou AAC(6')-Ib-Suzhou ABU55430.1 EU085533.1 AAC(6') aminoglycoside antibiotic antibiotic inactivation AAC_6_IB_Su ARO:3002549 38949 306 1299 AAC(6')-Ic AAC(6')-Ic AAA26549.1 M94066.1 AAC(6') aminoglycoside antibiotic antibiotic inactivation AAC(6')-Ic -ARO:3002597 38997 5296 1814 AAC(6')-Ie-APH(2'')-Ia bifunctional protein AAC(6')-Ie-APH(2'')-Ia bifunctional protein AAA88548.1 GU565967.1 AAC(6');APH(2'') aminoglycoside antibiotic antibiotic inactivation AAC6_Ie_APH2_Ia +ARO:3002597 38997 5296 1814 AAC(6')-Ie-APH(2'')-Ia bifunctional protein AAC(6')-Ie-APH(2'')-Ia bifunctional protein AAA88548.1 GU565967.1 aminoglycoside bifunctional resistance protein aminoglycoside antibiotic antibiotic inactivation AAC6_Ie_APH2_Ia ARO:3002553 38953 358 1651 AAC(6')-If AAC(6')-If CAA39038.1 X55353.1 AAC(6') aminoglycoside antibiotic antibiotic inactivation AAC(6')-If ARO:3002554 38954 396 1111 AAC(6')-Ig AAC(6')-Ig AAA21889.1 L09246.1 AAC(6') aminoglycoside antibiotic antibiotic inactivation AAC(6')-Ig ARO:3002555 38955 456 676 AAC(6')-Ih AAC(6')-Ih AAC41391.1 L29044.1 AAC(6') aminoglycoside antibiotic antibiotic inactivation AAC(6')-Ih @@ -95,7 +95,6 @@ ARO:3002567 38967 139 1271 AAC(6')-Iw AAC(6')-Iw AAD03495.1 AF031331.1 AAC(6') a ARO:3002568 38968 170 1939 AAC(6')-Ix AAC(6')-Ix AAD03496.1 AF031332.1 AAC(6') aminoglycoside antibiotic antibiotic inactivation AAC(6')-Ix ARO:3002569 38969 397 360 AAC(6')-Iy AAC(6')-Iy AAF03531.1 AF144880.1 AAC(6') aminoglycoside antibiotic antibiotic inactivation AAC(6')-Iy ARO:3002570 38970 205 1995 AAC(6')-Iz AAC(6')-Iz AAD52985.1 AF140221.1 AAC(6') aminoglycoside antibiotic antibiotic inactivation AAC(6')-Iz -ARO:3004641 42650 5464 3340 aacA43 aacA43 AEA07977.1 HQ247816.1 AAC(6') aminoglycoside antibiotic antibiotic inactivation aacA43 ARO:3002628 39028 6244 1562 aad(6) aad(6) AAU10334.1 AY712687.1 ANT(6) aminoglycoside antibiotic antibiotic inactivation aad(6) ARO:3002601 39001 5220 650 aadA aadA AAO49597.1 AF550679.1 ANT(3'') aminoglycoside antibiotic antibiotic inactivation aadA ARO:3004692 42744 5586 3398 aadA10 aadA10 AAL36430.1 U37105.2 ANT(3'') aminoglycoside antibiotic antibiotic inactivation aadA10 @@ -124,15 +123,16 @@ ARO:3004704 42757 5587 3399 aadA8b aadA8b CAJ13568.1 AM040708.1 ANT(3'') aminogl ARO:3002609 39009 4491 323 aadA9 aadA9 ABG49324.1 DQ390458.1 ANT(3'') aminoglycoside antibiotic antibiotic inactivation aadA9 ARO:3002627 39027 4533 426 aadK aadK CAB14620.1 AL009126.1 ANT(6) aminoglycoside antibiotic antibiotic inactivation aadK ARO:3004683 42732 5568 3382 aadS aadS AAA27459.1 M72415.1 ANT(6) aminoglycoside antibiotic antibiotic inactivation aadS +ARO:3007669 46449 8732 6002 aadT aadT AMD83542.1 KT852971.1 major facilitator superfamily (MFS) antibiotic efflux pump disinfecting agents and antiseptics;macrolide antibiotic;tetracycline antibiotic antibiotic efflux aadT ARO:3006863 45325 6497 4122 AAK-1 AAK-1 WP_194293132.1 NG_070893.1 AAK beta-lactamase carbapenem antibiotic inactivation AAK-1 ARO:3003942 40695 4691 2416 abcA abcA XP_753111.1 XM_748018.1 ATP-binding cassette (ABC) antibiotic efflux pump cephalosporin;penam;peptide antibiotic antibiotic efflux abcA ARO:3000753 37133 8212 1368 abeM abeM BAD89844.2 AB204810.2 multidrug and toxic compound extrusion (MATE) transporter disinfecting agents and antiseptics;fluoroquinolone antibiotic antibiotic efflux abeM ARO:3000768 37148 4569 593 abeS abeS ACJ59254.1 CP001172.1 small multidrug resistance (SMR) antibiotic efflux pump aminocoumarin antibiotic;macrolide antibiotic antibiotic efflux abeS -ARO:3001815 38215 856 1663 ACC-1 ACC-1 CAB46491.1 AJ133121.1 ACC beta-lactamase cephalosporin;monobactam;penam antibiotic inactivation ACC-1 -ARO:3006228 44690 6498 4123 ACC-1a ACC-1a WP_039189232.1 NG_048589.1 ACC beta-lactamase cephalosporin;monobactam;penam antibiotic inactivation ACC-1a -ARO:3006229 44691 6499 4124 ACC-1b ACC-1b WP_063857697.1 NG_048590.1 ACC beta-lactamase cephalosporin;monobactam;penam antibiotic inactivation ACC-1b -ARO:3006230 44692 6500 4125 ACC-1c ACC-1c WP_063857698.1 NG_048591.1 ACC beta-lactamase cephalosporin;monobactam;penam antibiotic inactivation ACC-1c -ARO:3006231 44693 6501 4126 ACC-1d ACC-1d WP_008815550.1 NG_048592.1 ACC beta-lactamase cephalosporin;monobactam;penam antibiotic inactivation ACC-1d +ARO:3001815 38215 856 1663 ACC-1 ACC-1 CAB46491.1 AJ133121.1 ACC beta-lactamase cephalosporin;cephamycin;monobactam;oxacephem;penam antibiotic inactivation ACC-1 +ARO:3006228 44690 6498 4123 ACC-1a ACC-1a WP_039189232.1 NG_048589.1 ACC beta-lactamase cephalosporin;cephamycin;monobactam;oxacephem;penam antibiotic inactivation ACC-1a +ARO:3006229 44691 6499 4124 ACC-1b ACC-1b WP_063857697.1 NG_048590.1 ACC beta-lactamase cephalosporin;cephamycin;monobactam;oxacephem;penam antibiotic inactivation ACC-1b +ARO:3006230 44692 6500 4125 ACC-1c ACC-1c WP_063857698.1 NG_048591.1 ACC beta-lactamase cephalosporin;cephamycin;monobactam;oxacephem;penam antibiotic inactivation ACC-1c +ARO:3006231 44693 6501 4126 ACC-1d ACC-1d WP_008815550.1 NG_048592.1 ACC beta-lactamase cephalosporin;cephamycin;monobactam;oxacephem;penam antibiotic inactivation ACC-1d ARO:3001816 38216 1852 2024 ACC-2 ACC-2 AAF86691.1 AF180952.1 ACC beta-lactamase cephalosporin;monobactam;penam antibiotic inactivation ACC-2 ARO:3001817 38217 1910 1422 ACC-3 ACC-3 AAF86697.1 AF180958.1 ACC beta-lactamase cephalosporin;monobactam;penam antibiotic inactivation ACC-3 ARO:3001818 38218 8175 406 ACC-4 ACC-4 ABP49606.1 EF504260.2 ACC beta-lactamase cephalosporin;monobactam;penam antibiotic inactivation ACC-4 @@ -487,23 +487,27 @@ ARO:3006893 45355 6734 4359 ALG6-1 ALG6-1 WP_122630832.1 NG_062236.1 ALG6 beta-l ARO:3006894 45356 6735 4360 ALI-1 ALI-1 WP_026025287.1 NG_057427.1 ALI beta-lactamase carbapenem antibiotic inactivation ALI-1 ARO:3006895 45357 6736 4361 ALI-2 ALI-2 WP_065597326.1 NG_059328.1 ALI beta-lactamase carbapenem antibiotic inactivation ALI-2 ARO:3004452 41663 4424 2891 Alkalihalobacillus clausii chloramphenicol acetyltransferase Alkalihalobacillus clausii chloramphenicol acetyltransferase AAQ63644.1 AY238971.1 chloramphenicol acetyltransferase (CAT) phenicol antibiotic antibiotic inactivation Acla_ACT_CHL -ARO:3004364 41538 5309 2878 almG almG AAF94731.1 AE003852.1 lipid A acyltransferase peptide antibiotic antibiotic target alteration almG -ARO:3002982 39416 5442 1542 amrA amrA CAH35803.1 BX571965.1 resistance-nodulation-cell division (RND) antibiotic efflux pump aminoglycoside antibiotic antibiotic efflux amrA -ARO:3002983 39417 5203 476 amrB amrB CAH35802.1 BX571965.1 resistance-nodulation-cell division (RND) antibiotic efflux pump aminoglycoside antibiotic antibiotic efflux amrB +ARO:3007433 46189 8647 5928 almE almE MCO7070877.1 JAKJWK010000010.1 alm glycyltransferase;polymyxin resistance operon peptide antibiotic antibiotic target alteration almE +ARO:3007431 46187 8646 5927 almF almF PNM48229.1 LOSL02000001.1 alm glycyl carrier protein;polymyxin resistance operon peptide antibiotic antibiotic target alteration almF +ARO:3004364 41538 5309 2878 almG almG AAF94731.1 AE003852.1 lipid A acyltransferase;polymyxin resistance operon peptide antibiotic antibiotic target alteration almG +ARO:3002982 39416 5442 1542 amrA amrA CAH35803.1 BX571965.1 resistance-nodulation-cell division (RND) antibiotic efflux pump aminoglycoside antibiotic;macrolide antibiotic antibiotic efflux amrA +ARO:3002983 39417 5203 476 amrB amrB CAH35802.1 BX571965.1 resistance-nodulation-cell division (RND) antibiotic efflux pump aminoglycoside antibiotic;macrolide antibiotic antibiotic efflux amrB ARO:3006896 45358 6737 4362 ANA-1 ANA-1 WP_041449074.1 NG_057424.1 ANA beta-lactamase carbapenem antibiotic inactivation ANA-1 ARO:3000230 36369 457 1372 ANT(2'')-Ia ANT(2'')-Ia AAC64365.1 AF078527.1 ANT(2'') aminoglycoside antibiotic antibiotic inactivation ANT(2'')-Ia ARO:3005062 43266 6097 3802 ANT(3'')-Ib ANT(3'')-Ib QEQ43477.1 MN366379.1 ANT(3'') aminoglycoside antibiotic antibiotic inactivation ANT(3'')-Ib ARO:3004089 41195 5122 2752 ANT(3'')-IIa ANT(3'')-IIa CAA26199.1 X02340.1 ANT(3'') aminoglycoside antibiotic antibiotic inactivation ANT(3'')-IIa -ARO:3002598 38998 8182 339 ANT(3'')-Ii-AAC(6')-IId fusion protein ANT(3'')-Ii-AAC(6')-IId fusion protein AAL51021.2 AF453998.2 AAC(6');ANT(3'') aminoglycoside antibiotic antibiotic inactivation ANT3Ii_AAC6_IID +ARO:3002598 38998 8182 339 ANT(3'')-II-AAC(6')-IId bifunctional protein ANT(3'')-II-AAC(6')-IId bifunctional protein AAL51021.2 AF453998.2 aminoglycoside bifunctional resistance protein aminoglycoside antibiotic antibiotic inactivation ANT3II_ANT6II ARO:3004090 41196 4496 2754 ANT(3'')-IIb ANT(3'')-IIb ENU91137.1 APPC01000022.1 ANT(3'') aminoglycoside antibiotic antibiotic inactivation ANT(3'')-IIb ARO:3004091 41197 4495 2755 ANT(3'')-IIc ANT(3'')-IIc ENU37733.1 APOM01000001.1 ANT(3'') aminoglycoside antibiotic antibiotic inactivation ANT(3'')-IIc -ARO:3002623 39023 185 1737 ANT(4')-Ia ANT(4')-Ia AAO83986.1 EF540343.1 ANT(4') aminoglycoside antibiotic antibiotic inactivation ANT(4')-Ia -ARO:3003905 40608 5201 2383 ANT(4')-Ib ANT(4')-Ib ADA62098.1 GQ900432.1 ANT(4') aminoglycoside antibiotic antibiotic inactivation ANT(4')-Ib +ARO:3002623 39023 8650 1737 ANT(4')-Ia ANT(4')-Ia AAA92254.1 K02551.1 ANT(4') aminoglycoside antibiotic antibiotic inactivation ANT(4')-Ia +ARO:3003905 40608 8651 2383 ANT(4')-Ib ANT(4')-Ib AAO83986.1 EF540343.1 ANT(4') aminoglycoside antibiotic antibiotic inactivation ANT(4')-Ib ARO:3002624 39024 190 1266 ANT(4')-IIa ANT(4')-IIa AAA25717.1 M98270.1 ANT(4') aminoglycoside antibiotic antibiotic inactivation ANT(4')-IIa ARO:3002625 39025 234 1329 ANT(4')-IIb ANT(4')-IIb AAM76670.1 AY114142.1 ANT(4') aminoglycoside antibiotic antibiotic inactivation ANT(4')-IIb ARO:3002626 39026 5528 914 ANT(6)-Ia ANT(6)-Ia AHE40557.1 KF648874.1 ANT(6) aminoglycoside antibiotic antibiotic inactivation ANT(6)-Ia ARO:3002629 39029 60 1113 ANT(6)-Ib ANT(6)-Ib CBH51824.1 FN594949.1 ANT(6) aminoglycoside antibiotic antibiotic inactivation ANT(6)-Ib ARO:3002630 39030 6083 1386 ANT(9)-Ia ANT(9)-Ia CAA26428.1 X02588.1 ANT(9) aminoglycoside antibiotic antibiotic inactivation ANT(9)-Ia +ARO:3007401 46152 8601 5905 ANT(9)-Ib ANT(9)-Ib AAA16527.1 M69221.1 ANT(9) aminoglycoside antibiotic antibiotic inactivation ANT(9)-Ib +ARO:3007515 46284 8689 5967 ANT(9)-Ic ANT(9)-Ic QWQ57435.1 MZ241296.1 ANT(9) aminoglycoside antibiotic antibiotic inactivation ANT(9)-Ic ARO:3002634 39034 18 137 APH(2'')-Ie APH(2'')-Ie AAX38178.1 AY939911.1 APH(2'') aminoglycoside antibiotic antibiotic inactivation APH(2'')-Ie ARO:3004191 41355 4188 2837 APH(2'')-If APH(2'')-If AAW34150.1 AY701528.1 APH(2'') aminoglycoside antibiotic antibiotic inactivation APH(2'')-If ARO:3002669 39069 4749 903 APH(2'')-Ig APH(2'')-Ig AGV10818.1 CP004067.1 APH(2'') aminoglycoside antibiotic antibiotic inactivation APH(2'')-Ig @@ -520,17 +524,15 @@ ARO:3002645 39045 159 954 APH(3')-IIb APH(3')-IIb CAA62365.1 X90856.1 APH(3') am ARO:3002646 39046 194 1018 APH(3')-IIc APH(3')-IIc ADQ43421.1 HQ424460.1 APH(3') aminoglycoside antibiotic antibiotic inactivation APH(3')-IIc ARO:3002647 39047 233 1332 APH(3')-IIIa APH(3')-IIIa AGV10830.1 CP004067.1 APH(3') aminoglycoside antibiotic antibiotic inactivation APH(3')-IIIa ARO:3002648 39048 237 1260 APH(3')-IVa APH(3')-IVa CAA27061.1 X03364.1 APH(3') aminoglycoside antibiotic antibiotic inactivation APH(3')-IVa -ARO:3004087 41192 4068 2751 APH(3')-IX APH(3')-IX ENV34035.1 APPN01000061.1 APH(3') aminoglycoside antibiotic antibiotic inactivation APH(3')-IX +ARO:3004087 41192 4068 2751 APH(3')-IXa APH(3')-IXa ENV34035.1 APPN01000061.1 APH(3') aminoglycoside antibiotic antibiotic inactivation APH(3')-IXa ARO:3002649 39049 371 38 APH(3')-Va APH(3')-Va AAA26699.1 K00432.1 APH(3') aminoglycoside antibiotic antibiotic inactivation APH(3')-Va ARO:3002650 39050 407 1548 APH(3')-Vb APH(3')-Vb AAC32025.1 M22126.1 APH(3') aminoglycoside antibiotic antibiotic inactivation APH(3')-Vb ARO:3002651 39051 470 687 APH(3')-Vc APH(3')-Vc AAB21326.1 S81599.1 APH(3') aminoglycoside antibiotic antibiotic inactivation APH(3')-Vc -ARO:3003687 40322 3387 2200 APH(3')-VI APH(3')-VI AGI04227.1 KC170992.1 APH(3') aminoglycoside antibiotic antibiotic inactivation APH(3')-VI ARO:3002652 39052 368 1121 APH(3')-VIa APH(3')-VIa CAA30578.1 X07753.1 APH(3') aminoglycoside antibiotic antibiotic inactivation APH(3')-VIa ARO:3002653 39053 6049 3759 APH(3')-VIb APH(3')-VIb CAF29483.1 AJ627643.4 APH(3') aminoglycoside antibiotic antibiotic inactivation APH(3')-VIb ARO:3002654 39054 326 251 APH(3')-VIIa APH(3')-VIIa AAA76822.1 M29953.1 APH(3') aminoglycoside antibiotic antibiotic inactivation APH(3')-VIIa ARO:3004680 42729 5564 3379 APH(3')-VIIIa APH(3')-VIIIa AAG11411.2 AF182845.2 APH(3') aminoglycoside antibiotic antibiotic inactivation APH(3')-VIIIa ARO:3004086 41190 4499 2750 APH(3')-VIIIb APH(3')-VIIIb EPF73263.1 ATGI01000028.1 APH(3') aminoglycoside antibiotic antibiotic inactivation APH(3')-VIIIb -ARO:3005154 43371 6203 3879 APH(3')-XV APH(3')-XV ABY48974.1 EU165039.1 APH(3') aminoglycoside antibiotic antibiotic inactivation APH(3')-XV ARO:3002655 39055 221 205 APH(4)-Ia APH(4)-Ia CAA24743.1 V01499.1 APH(4) aminoglycoside antibiotic antibiotic inactivation APH(4)-Ia ARO:3002656 39056 262 1681 APH(4)-Ib APH(4)-Ib CAA52372.1 X74325.1 APH(4) aminoglycoside antibiotic antibiotic inactivation APH(4)-Ib ARO:3002657 39057 94 1500 APH(6)-Ia APH(6)-Ia CAA68516.1 Y00459.1 APH(6) aminoglycoside antibiotic antibiotic inactivation APH(6)-Ia @@ -540,8 +542,9 @@ ARO:3002660 39060 467 1031 APH(6)-Id APH(6)-Id AAC23556.1 AF024602.1 APH(6) amin ARO:3002661 39061 600 706 APH(7'')-Ia APH(7'')-Ia CAA27276.1 X03615.1 APH(7'') aminoglycoside antibiotic antibiotic inactivation APH(7'')-Ia ARO:3002662 39062 514 252 APH(9)-Ia APH(9)-Ia AAB58447.1 U94857.1 APH(9) aminoglycoside antibiotic antibiotic inactivation APH(9)-Ia ARO:3002663 39063 4738 1059 APH(9)-Ib APH(9)-Ib AAB66655.1 U70376.2 APH(9) aminoglycoside antibiotic antibiotic inactivation APH(9)-Ib +ARO:3007539 46310 8697 5975 APH(9)-Ic APH(9)-Ic WCI13726.1 ON693243.1 APH(9) aminoglycoside antibiotic antibiotic inactivation APH(9)-Ic ARO:3004675 42723 5559 3374 aphA15 aphA15 CAD91341.1 Y18050.2 APH(3') aminoglycoside antibiotic antibiotic inactivation aphA15 -ARO:3003918 40626 3717 2395 apmA apmA CBL58181.1 FN806789.3 amp acetyltransferase aminoglycoside antibiotic antibiotic inactivation apmA +ARO:3003918 40626 3717 2395 apmA apmA CBL58181.1 FN806789.3 AAC(2') aminoglycoside antibiotic antibiotic inactivation apmA ARO:3002993 39427 1113 1711 AQU-1 AQU-1 BAM76830.1 AB765395.1 AQU beta-lactamase cephalosporin antibiotic inactivation AQU-1 ARO:3004647 42664 5474 3346 AQU-2 AQU-2 AHF82023.1 KF730243.1 AQU beta-lactamase cephalosporin antibiotic inactivation AQU-2 ARO:3004648 42665 5475 3347 AQU-3 AQU-3 AHF82024.1 KF730244.1 AQU beta-lactamase cephalosporin antibiotic inactivation AQU-3 @@ -578,8 +581,9 @@ ARO:3002672 39106 143 2002 Bacillus pumilus cat86 Bacillus pumilus cat86 AAA2228 ARO:3003324 39908 8183 1558 Bacillus subtilis mprF Bacillus subtilis mprF CAX52582.1 AL009126.3 defensin resistant mprF peptide antibiotic antibiotic target alteration Bsub_mprF ARO:3003788 40473 6284 2293 Bacillus subtilis pgsA with mutation conferring resistance to daptomycin Bacillus subtilis pgsA with mutation conferring resistance to daptomycin BAB95031.1 BA000033.2 daptomycin resistant pgsA peptide antibiotic antibiotic target alteration Bsub_pgsA_DAP ARO:3007073 45635 8438 5767 Bacillus subtilis rpoB mutants conferring resistance to rifampin Bacillus subtilis rpoB mutants conferring resistance to rifampin CAB11883.2 AL009126.3 rifamycin-resistant beta-subunit of RNA polymerase (rpoB) peptide antibiotic;rifamycin antibiotic antibiotic target alteration;antibiotic target replacement Bsub_rpoB_RIF -ARO:3000828 37208 5369 1337 baeR baeR BAA15935.1 AP009048.1 resistance-nodulation-cell division (RND) antibiotic efflux pump aminocoumarin antibiotic;aminoglycoside antibiotic antibiotic efflux baeR -ARO:3000829 37209 608 986 baeS baeS BAA15934.1 AP009048.1 resistance-nodulation-cell division (RND) antibiotic efflux pump aminocoumarin antibiotic;aminoglycoside antibiotic antibiotic efflux baeS +ARO:3007527 46298 8692 5969 Bacillus subtilis rpsE mutations conferring resistance to spectinomycin Bacillus subtilis rpsE mutations conferring resistance to spectinomycin NP_388014.1 NC_000964.3 spectinomycin resistant rpsE aminoglycoside antibiotic antibiotic target alteration Bsub_rpsE_SPT +ARO:3000828 37208 8726 1337 baeR baeR ADF62940.1 CP001918.1 resistance-nodulation-cell division (RND) antibiotic efflux pump aminocoumarin antibiotic;aminoglycoside antibiotic antibiotic efflux baeR +ARO:3000829 37209 8725 986 baeS baeS ADF62939.1 CP001918.1 resistance-nodulation-cell division (RND) antibiotic efflux pump aminocoumarin antibiotic;aminoglycoside antibiotic antibiotic efflux baeS ARO:3003984 40866 3857 2521 BahA BahA APB03218.1 KX531048.1 Bah amidohydrolase peptide antibiotic antibiotic inactivation BahA ARO:3003297 39881 2058 984 Bartonella bacilliformis gyrA conferring resistance to fluoroquinolones Bartonella bacilliformis gyrA conferring resistance to fluoroquinolones AAL82403.1 AF469609.1 fluoroquinolone resistant gyrA fluoroquinolone antibiotic;nybomycin-like antibiotic antibiotic target alteration Bbac_gyrA_FLO ARO:3003302 39886 5357 1360 Bartonella bacilliformis gyrB conferring resistance to aminocoumarin Bartonella bacilliformis gyrB conferring resistance to aminocoumarin ABM44583.1 CP000524.1 aminocoumarin resistant gyrB aminocoumarin antibiotic antibiotic target alteration Bbac_gyrA_AMU @@ -603,7 +607,6 @@ ARO:3004753 42865 5756 3561 BIC-1 BIC-1 ADB56658.1 GQ260093.1 BIC Beta-lactamase ARO:3004480 41743 5874 2914 Bifidobacterium adolescentis rpoB mutants conferring resistance to rifampicin Bifidobacterium adolescentis rpoB mutants conferring resistance to rifampicin WP_041777404.1 NC_008618.1 rifamycin-resistant beta-subunit of RNA polymerase (rpoB) peptide antibiotic;rifamycin antibiotic antibiotic target alteration;antibiotic target replacement Bado_rpoB_RIF ARO:3003730 40419 5227 2278 Bifidobacterium bifidum ileS conferring resistance to mupirocin Bifidobacterium bifidum ileS conferring resistance to mupirocin ADP36409.1 CP001840.1 antibiotic-resistant isoleucyl-tRNA synthetase (ileS) mupirocin-like antibiotic antibiotic target alteration Bbif_ileS_MUP ARO:3004755 42867 5757 3562 BIL-1 BIL-1 CAA52618.1 X74512.1 BIL Beta-lactamase cephalosporin antibiotic inactivation BIL-1 -ARO:3007021 45492 8131 5734 BioF BioF MBU4627809.1 JACOMR010000005.1 PFM-like beta-lactamase carbapenem antibiotic inactivation BioF ARO:3000856 37236 5242 1942 BJP-1 BJP-1 AND91341.1 CP011360.1 BJP beta-lactamase carbapenem antibiotic inactivation BJP-1 ARO:3004757 42869 5758 3563 BKC-1 BKC-1 AKD43328.1 KP689347.1 BKC Beta-lactamase carbapenem antibiotic inactivation BKC-1 ARO:3006223 44685 6744 4369 BKC-2 BKC-2 WP_171476787.1 NG_068505.1 BKC Beta-lactamase carbapenem antibiotic inactivation BKC-2 @@ -654,7 +657,7 @@ ARO:3005036 43234 6084 3789 BLMT BLMT BAF34030.1 AB255435.1 Bleomycin resistant ARO:3003006 39440 710 1975 blt blt AAC36944.1 L32599.1 major facilitator superfamily (MFS) antibiotic efflux pump disinfecting agents and antiseptics;fluoroquinolone antibiotic antibiotic efflux blt ARO:3003007 39441 86 1256 bmr bmr AAA22277.1 M33768.1 major facilitator superfamily (MFS) antibiotic efflux pump disinfecting agents and antiseptics;fluoroquinolone antibiotic;nucleoside antibiotic;phenicol antibiotic antibiotic efflux bmr ARO:3003504 40106 3268 2143 Borreliella burgdorferi 16S rRNA mutation conferring resistance to gentamicin Borreliella burgdorferi 16S rRNA mutation conferring resistance to gentamicin NR_044732.2 16s rRNA with mutation conferring resistance to aminoglycoside antibiotics aminoglycoside antibiotic;glycopeptide antibiotic;glycylcycline;nucleoside antibiotic;peptide antibiotic;tetracycline antibiotic antibiotic target alteration Bbur_16S_GEN -ARO:3003503 40105 3266 2127 Borreliella burgdorferi 16S rRNA mutation conferring resistance to kanamycin Borreliella burgdorferi 16S rRNA mutation conferring resistance to kanamycin NR_044732.2 16s rRNA with mutation conferring resistance to aminoglycoside antibiotics aminoglycoside antibiotic;glycopeptide antibiotic;glycylcycline;nucleoside antibiotic;peptide antibiotic;tetracycline antibiotic antibiotic target alteration Bbur_16S_KAN +ARO:3003503 40105 8691 2127 Borreliella burgdorferi 16S rRNA mutation conferring resistance to kanamycin Borreliella burgdorferi 16S rRNA mutation conferring resistance to kanamycin NZ_ABCW02000003.1 16s rRNA with mutation conferring resistance to aminoglycoside antibiotics aminoglycoside antibiotic;glycopeptide antibiotic;glycylcycline;nucleoside antibiotic;peptide antibiotic;tetracycline antibiotic antibiotic target alteration Bbur_16S_KAN ARO:3003502 40104 3267 2154 Borreliella burgdorferi 16S rRNA mutation conferring resistance to spectinomycin Borreliella burgdorferi 16S rRNA mutation conferring resistance to spectinomycin NR_044732.2 16s rRNA with mutation conferring resistance to aminoglycoside antibiotics aminoglycoside antibiotic;glycopeptide antibiotic;glycylcycline;nucleoside antibiotic;peptide antibiotic;tetracycline antibiotic antibiotic target alteration Bbur_16S_SPT ARO:3003777 40454 5489 2286 Borreliella burgdorferi murA with mutation conferring resistance to fosfomycin Borreliella burgdorferi murA with mutation conferring resistance to fosfomycin AAC66824.2 AE000783.1 antibiotic-resistant murA transferase phosphonic acid antibiotic antibiotic target alteration Bbur_mur_FOF ARO:3004759 42871 5759 3564 BPU-1 BPU-1 ABV63006.2 CP000813.4 BPU Beta-lactamase penam antibiotic inactivation BPU-1 @@ -668,6 +671,7 @@ ARO:3004860 42996 8366 3656 Burkholderia dolosa gyrA conferring resistance to fl ARO:3004123 41248 4100 2786 Burkholderia pseudomallei Omp38 Burkholderia pseudomallei Omp38 AAP82271.1 AY312416.1 General Bacterial Porin with reduced permeability to beta-lactams carbapenem;cephalosporin;cephamycin;monobactam;penam;penem reduced permeability to antibiotic Bpse_Omp38 ARO:3004294 41460 4198 2846 BUT-1 BUT-1 AAN17791.1 AF440406.1 BUT beta-lactamase cephalosporin antibiotic inactivation BUT-1 ARO:3005558 44020 6782 4407 BUT-2 BUT-2 WP_104531864.1 NG_056481.1 BUT beta-lactamase cephalosporin antibiotic inactivation BUT-2 +ARO:3007635 46409 8703 5981 CAE-1 CAE-1 QXW20276.1 CP079746.1 CAE beta-lactamase cephalosporin;penam antibiotic inactivation CAE-1 ARO:3004559 42465 5123 3266 CAM-1 CAM-1 AVX51087.1 MG430339.1 CAM beta-lactamase carbapenem;cephalosporin;cephamycin;penam antibiotic inactivation CAM-1 ARO:3004454 41665 4426 2893 Campylobacter coli chloramphenicol acetyltransferase Campylobacter coli chloramphenicol acetyltransferase AAA23018.1 M35190.1 chloramphenicol acetyltransferase (CAT) phenicol antibiotic antibiotic inactivation Ccol_ACT_CHL ARO:3004546 42445 5105 3252 Campylobacter jejuni 23S rRNA with mutation conferring resistance to erythromycin Campylobacter jejuni 23S rRNA with mutation conferring resistance to erythromycin NR_076226.1 23S rRNA with mutation conferring resistance to macrolide antibiotics glycopeptide antibiotic;lincosamide antibiotic;macrolide antibiotic;phenicol antibiotic;pleuromutilin antibiotic;streptogramin A antibiotic;streptogramin B antibiotic;streptogramin antibiotic antibiotic target alteration Cjej_23S_ERY @@ -727,6 +731,7 @@ ARO:3002246 38646 1814 1443 CARB-7 CARB-7 AAM74565.1 AF409092.1 CARB beta-lactam ARO:3002247 38647 1894 1661 CARB-8 CARB-8 AAO59455.1 AY178993.1 CARB beta-lactamase penam antibiotic inactivation CARB-8 ARO:3002248 38648 1973 780 CARB-9 CARB-9 AAP22374.1 AY248038.1 CARB beta-lactamase penam antibiotic inactivation CARB-9 ARO:3003808 40493 3576 2307 carO carO AKL79742.1 KP658477.1 CarO porin carbapenem reduced permeability to antibiotic;resistance by absence carO +ARO:3002683 39117 482 763 catA1 catA1 CAA23899.1 V00622.1 chloramphenicol acetyltransferase (CAT) phenicol antibiotic antibiotic inactivation catA1 ARO:3004657 42696 5537 3357 catA4 catA4 AAA25655.1 M11587.1 chloramphenicol acetyltransferase (CAT) phenicol antibiotic antibiotic inactivation catA4 ARO:3004658 42697 5543 3358 catA8 catA8 AFN69318.1 JQ922409.1 chloramphenicol acetyltransferase (CAT) phenicol antibiotic antibiotic inactivation catA8 ARO:3003110 39686 6208 628 catB10 catB10 ACL13298.1 FJ495083.1 chloramphenicol acetyltransferase (CAT) phenicol antibiotic antibiotic inactivation catB10 @@ -735,7 +740,6 @@ ARO:3002675 39109 5222 712 catB2 catB2 AAP15294.1 AY232670.1 chloramphenicol ace ARO:3002676 39110 5450 150 catB3 catB3 AFQ93498.1 JX101693.1 chloramphenicol acetyltransferase (CAT) phenicol antibiotic antibiotic inactivation catB3 ARO:3002680 39114 5451 446 catB8 catB8 AAM92461.1 AY123251.1 chloramphenicol acetyltransferase (CAT) phenicol antibiotic antibiotic inactivation catB8 ARO:3002681 39115 386 106 catB9 catB9 AAL68645.1 AF462019.1 chloramphenicol acetyltransferase (CAT) phenicol antibiotic antibiotic inactivation catB9 -ARO:3002683 39117 482 763 catI catI CAA23899.1 V00622.1 chloramphenicol acetyltransferase (CAT) phenicol antibiotic antibiotic inactivation catI ARO:3002684 39118 742 1295 catII catII CAA37806.1 X53797.1 chloramphenicol acetyltransferase (CAT) phenicol antibiotic antibiotic inactivation catII ARO:3004656 42694 5535 3355 catII from Escherichia coli K-12 catII from Escherichia coli K-12 CAA37805.1 X53796.1 chloramphenicol acetyltransferase (CAT) phenicol antibiotic antibiotic inactivation Ecol_catII ARO:3002685 39119 528 1580 catIII catIII CAA30695.1 X07848.1 chloramphenicol acetyltransferase (CAT) phenicol antibiotic antibiotic inactivation catIII @@ -748,6 +752,7 @@ ARO:3000855 37235 760 1109 CAU-1 CAU-1 CAC87665.1 AJ308331.1 CAU beta-lactamase ARO:3002999 39433 1188 2 CblA-1 CblA-1 ACT97415.1 GQ343019.1 CblA beta-lactamase cephalosporin antibiotic inactivation CblA-1 ARO:3004764 42878 5764 3567 CBP-1 CBP-1 ALF06101.1 KP718480.1 CBP beta-lactamase penam antibiotic inactivation CBP-1 ARO:3000578 36717 1275 1381 CcrA CcrA AAA22904.1 M63556.1 CfiA beta-lactamase carbapenem antibiotic inactivation CcrA +ARO:3007650 46427 8708 5987 CDA-1 CDA-1 AID52933.1 KJ650399.1 CDA beta-lactamase;CTX-M beta-lactamase;SHV beta-lactamase;TEM beta-lactamase carbapenem;cephalosporin;cephamycin;monobactam;penam;penem antibiotic inactivation CDA-1 ARO:3006904 45366 6815 4440 CDD-1 CDD-1 WP_009901927.1 NG_065860.1 CDD beta-lactamase carbapenem antibiotic inactivation CDD-1 ARO:3006905 45367 6816 4441 CDD-2 CDD-2 WP_021361759.1 NG_065861.1 CDD beta-lactamase carbapenem antibiotic inactivation CDD-2 ARO:3003835 40526 4621 2321 cdeA cdeA CAE00499.1 AJ574887.1 multidrug and toxic compound extrusion (MATE) transporter disinfecting agents and antiseptics;fluoroquinolone antibiotic antibiotic efflux cdeA @@ -780,7 +785,8 @@ ARO:3003441 40028 4584 696 cfrA cfrA CAL64019.1 AM408573.1 Cfr 23S ribosomal RNA ARO:3004649 42670 5492 3348 cfr(B) cfr(B) CDF47262.1 HG002396.1 Cfr 23S ribosomal RNA methyltransferase lincosamide antibiotic;oxazolidinone antibiotic;phenicol antibiotic;streptogramin antibiotic antibiotic target alteration cfr(B) ARO:3004146 41275 5389 2800 cfrC cfrC CAL84423.1 AM412317.1 Cfr 23S ribosomal RNA methyltransferase lincosamide antibiotic;oxazolidinone antibiotic;phenicol antibiotic;streptogramin antibiotic antibiotic target alteration cfrC ARO:3005021 43212 6053 3763 cfr(D) cfr(D) AXY65402.1 MG707078.1 Cfr 23S ribosomal RNA methyltransferase glycopeptide antibiotic;lincosamide antibiotic;oxazolidinone antibiotic;phenicol antibiotic;streptogramin antibiotic antibiotic target alteration cfr(D) -ARO:3003001 39435 1354 741 CfxA CfxA AAB17891.1 U38243.1 CfxA beta-lactamase cephamycin antibiotic inactivation CfxA +ARO:3005023 43214 8623 5914 cfrE cfrE RHO92765.1 QUDP01000003.1 Cfr 23S ribosomal RNA methyltransferase lincosamide antibiotic;oxazolidinone antibiotic;phenicol antibiotic;pleuromutilin antibiotic;streptogramin antibiotic antibiotic target alteration cfrE +ARO:3003001 39435 1354 741 CfxA CfxA AAB17891.1 U38243.1 CfxA beta-lactamase cephamycin;oxacephem antibiotic inactivation CfxA ARO:3003002 39436 4470 174 CfxA2 CfxA2 AAD23513.1 AF118110.1 CfxA beta-lactamase cephamycin antibiotic inactivation CfxA2 ARO:3003003 39437 8285 1895 CfxA3 CfxA3 AAL79549.2 AF472622.2 CfxA beta-lactamase cephamycin antibiotic inactivation CfxA3 ARO:3003005 39439 1592 294 CfxA4 CfxA4 AAV37205.1 AY769933.1 CfxA beta-lactamase cephamycin antibiotic inactivation CfxA4 @@ -806,14 +812,18 @@ ARO:3002815 39249 5410 127 clbB clbB BAH45481.1 AP008955.1 Cfr 23S ribosomal RNA ARO:3002816 39250 4249 1642 clbC clbC BAD63613.1 AP006627.1 Cfr 23S ribosomal RNA methyltransferase lincosamide antibiotic;oxazolidinone antibiotic;phenicol antibiotic;pleuromutilin antibiotic;streptogramin A antibiotic;streptogramin antibiotic antibiotic target alteration clbC ARO:3004599 42532 5192 3300 clcD clcD AIX48090.1 KM359438.1 Cfr 23S ribosomal RNA methyltransferase lincosamide antibiotic;oxazolidinone antibiotic;phenicol antibiotic;pleuromutilin antibiotic;streptogramin A antibiotic;streptogramin B antibiotic;streptogramin antibiotic antibiotic target alteration clcD ARO:3004654 42686 5518 3353 Clostridioides difficile 23S rRNA with mutation conferring resistance to erythromycin and clindamycin Clostridioides difficile 23S rRNA with mutation conferring resistance to erythromycin and clindamycin NR_076234.1 23S rRNA with mutation conferring resistance to macrolide antibiotics glycopeptide antibiotic;lincosamide antibiotic;macrolide antibiotic;phenicol antibiotic;pleuromutilin antibiotic;streptogramin A antibiotic;streptogramin B antibiotic;streptogramin antibiotic antibiotic target alteration Cdif_23S_MULT +ARO:3007637 46412 8704 5982 Clostridioides difficile cplR Clostridioides difficile cplR AJP12342.1 CP010905.2 Miscellaneous ABC-F subfamily ATP-binding cassette ribosomal protection proteins lincosamide antibiotic;nucleoside antibiotic;streptogramin A antibiotic;streptogramin antibiotic antibiotic target protection cplR ARO:3003357 39941 5256 2124 Clostridioides difficile EF-Tu mutants conferring resistance to elfamycin Clostridioides difficile EF-Tu mutants conferring resistance to elfamycin AXU66539.1 CP012325.1 elfamycin resistant EF-Tu elfamycin antibiotic antibiotic target alteration Cdif_EFTu_ELF ARO:3003995 40901 5529 2550 Clostridioides difficile gyrA conferring resistance to fluoroquinolones Clostridioides difficile gyrA conferring resistance to fluoroquinolones CAJ66820.1 AM180355.1 fluoroquinolone resistant gyrA fluoroquinolone antibiotic;nybomycin-like antibiotic antibiotic target alteration Cdif_gyrA_FLO ARO:3004562 42469 5316 3268 Clostridioides difficile gyrB conferring resistance to fluoroquinolones Clostridioides difficile gyrB conferring resistance to fluoroquinolones ADK13120.1 CP001666.1 fluoroquinolone resistant gyrB aminocoumarin antibiotic;fluoroquinolone antibiotic antibiotic target alteration Cdif_gyrB_FLO ARO:3004561 42467 5317 3267 Clostridioides difficile murG with mutation conferring resistance to vancomycin Clostridioides difficile murG with mutation conferring resistance to vancomycin AAK80188.1 AE001437.1 murG transferase glycopeptide antibiotic antibiotic target alteration Cdif_murG_VAN +ARO:3007671 46451 8724 6003 Clostridioides difficile nimB Clostridioides difficile nimB CBE03766.1 FN545816.1 nitroimidazole reductase nitroimidazole antibiotic antibiotic inactivation CdnimB ARO:3004563 42470 5315 3269 Clostridioides difficile rpoB with mutation conferring resistance to rifampicin Clostridioides difficile rpoB with mutation conferring resistance to rifampicin ADK17136.1 CP001666.1 rifamycin-resistant beta-subunit of RNA polymerase (rpoB) peptide antibiotic;rifamycin antibiotic antibiotic target alteration;antibiotic target replacement Cdif_rpoB_RIF ARO:3004681 42730 5565 3380 Clostridioides difficile rpoC with mutation conferring resistance to vancomycin Clostridioides difficile rpoC with mutation conferring resistance to vancomycin AJP09758.1 CP010905.2 vancomycin-resistant beta prime subunit of RNA polymerase (rpoC) glycopeptide antibiotic antibiotic target alteration Cdif_rpoC_VAN ARO:3002674 39108 174 492 Clostridium butyricum catB Clostridium butyricum catB AAA73865.1 M93113.1 chloramphenicol acetyltransferase (CAT) phenicol antibiotic antibiotic inactivation Cbut_catB ARO:3003773 40447 4635 2282 Clostridium perfringens mprF Clostridium perfringens mprF ABG86067.1 CP000312.1 defensin resistant mprF peptide antibiotic antibiotic target alteration Cper_mprF +ARO:3007644 46419 8705 5983 Clostridium perfringes cplR Clostridium perfringes cplR BAB80490.1 BA000016.3 Miscellaneous ABC-F subfamily ATP-binding cassette ribosomal protection proteins lincosamide antibiotic;pleuromutilin antibiotic;streptogramin A antibiotic;streptogramin antibiotic antibiotic target protection Cper_cplR +ARO:3007645 46421 8706 5984 Clostridium sporogenes cplR Clostridium sporogenes cplR AKC61310.1 CP009225.1 Miscellaneous ABC-F subfamily ATP-binding cassette ribosomal protection proteins lincosamide antibiotic;pleuromutilin antibiotic antibiotic target protection Cspo_cplR ARO:3006922 45384 6836 4461 CMA-1 CMA-1 WP_032974004.1 NG_062222.1 CMA beta-lactamase cephalosporin antibiotic inactivation CMA-1 ARO:3006923 45385 6837 4462 CMA-2 CMA-2 WP_105620838.1 NG_062212.1 CMA beta-lactamase cephalosporin antibiotic inactivation CMA-2 ARO:3004775 42890 5771 3575 CME-1 CME-1 CAB55427.1 AJ006275.1 CME beta-lactamase penam antibiotic inactivation CME-1 @@ -847,8 +857,8 @@ ARO:3002114 38514 1360 1029 CMY-102 CMY-102 AHA80103.1 KF526115.1 CMY beta-lacta ARO:3002115 38515 1441 1747 CMY-103 CMY-103 AHA80104.1 KF526116.1 CMY beta-lactamase cephamycin antibiotic inactivation CMY-103 ARO:3002116 38516 1546 658 CMY-104 CMY-104 AGR82311.1 KF150216.1 CMY beta-lactamase cephamycin antibiotic inactivation CMY-104 ARO:3002117 38517 1623 208 CMY-105 CMY-105 AHL39330.1 KJ207205.1 CMY beta-lactamase cephamycin antibiotic inactivation CMY-105 -ARO:3002118 38518 8352 2082 CMY-106 CMY-106 AJH76980.1 KM983294.1 CMY beta-lactamase cephamycin antibiotic inactivation CMY-106 ARO:3002118 38518 6844 4469 CMY-106 CMY-106 WP_063859654.1 NG_048776.1 CMY beta-lactamase cephamycin antibiotic inactivation CMY-106 +ARO:3002118 38518 8352 2082 CMY-106 CMY-106 AJH76980.1 KM983294.1 CMY beta-lactamase cephamycin antibiotic inactivation CMY-106 ARO:3002119 38519 8387 3892 CMY-107 CMY-107 WP_032494240.1 KR061886.1 CMY beta-lactamase cephamycin antibiotic inactivation CMY-107 ARO:3002120 38520 1775 1504 CMY-108 CMY-108 AGZ20169.1 KF564648.1 CMY beta-lactamase cephamycin antibiotic inactivation CMY-108 ARO:3002121 38521 6845 4470 CMY-109 CMY-109 WP_032948363.1 NG_048779.1 CMY beta-lactamase cephamycin antibiotic inactivation CMY-109 @@ -1309,6 +1319,8 @@ ARO:3002862 39296 525 2053 dfrA7 dfrA7 ACS44716.1 FJ854362.1 trimethoprim resist ARO:3002863 39297 568 403 dfrA8 dfrA8 AHV80711.1 KJ174469.1 trimethoprim resistant dihydrofolate reductase dfr diaminopyrimidine antibiotic antibiotic target replacement dfrA8 ARO:3004548 42451 5112 3256 dfrA9 dfrA9 CAA40897.1 X57730.1 trimethoprim resistant dihydrofolate reductase dfr diaminopyrimidine antibiotic antibiotic target replacement dfrA9 ARO:3002864 39298 6212 714 dfrB1 dfrB1 AAA82255.1 U36276.1 trimethoprim resistant dihydrofolate reductase dfr diaminopyrimidine antibiotic antibiotic target replacement dfrB1 +ARO:3007489 46256 8680 5958 dfrB10 dfrB10 ALZ46148.1 KU130294.1 trimethoprim resistant dihydrofolate reductase dfr diaminopyrimidine antibiotic antibiotic target replacement dfrB10 +ARO:3007490 46257 8681 5959 dfrB11 dfrB11 PKO69073.1 PHCQ01000010.1 trimethoprim resistant dihydrofolate reductase dfr diaminopyrimidine antibiotic antibiotic target replacement dfrB11 ARO:3003021 39455 5108 1971 dfrB2 dfrB2 ABI20482.1 DQ839391.1 trimethoprim resistant dihydrofolate reductase dfr diaminopyrimidine antibiotic antibiotic target replacement dfrB2 ARO:3003022 39456 392 1039 dfrB3 dfrB3 ACR57831.1 GQ150744.1 trimethoprim resistant dihydrofolate reductase dfr diaminopyrimidine antibiotic antibiotic target replacement dfrB3 ARO:3004498 42133 6117 3076 dfrB4 dfrB4 ABY55281.1 EU339233.1 trimethoprim resistant dihydrofolate reductase dfr diaminopyrimidine antibiotic antibiotic target replacement dfrB4 @@ -1323,6 +1335,8 @@ ARO:3002867 39301 677 5 dfrF dfrF AAD01868.1 AF028812.1 trimethoprim resistant d ARO:3002868 39302 750 448 dfrG dfrG BAE15963.1 AB205645.1 trimethoprim resistant dihydrofolate reductase dfr diaminopyrimidine antibiotic antibiotic target replacement dfrG ARO:3004645 42659 5472 3344 dfrI dfrI ABO40886.1 CP000602.1 trimethoprim resistant dihydrofolate reductase dfr diaminopyrimidine antibiotic antibiotic target replacement dfrI ARO:3002869 39303 50 1913 dfrK dfrK CBL80435.1 FN812951.1 trimethoprim resistant dihydrofolate reductase dfr diaminopyrimidine antibiotic antibiotic target replacement dfrK +ARO:3007456 46219 8669 5947 dfrL dfrL CAC8536249.1 CAIIKR010000012.1 trimethoprim resistant dihydrofolate reductase dfr aminoglycoside antibiotic;diaminopyrimidine antibiotic;tetracycline antibiotic antibiotic target replacement dfrL +ARO:3007510 46279 8740 5966 dfrv dfrv AOY10467.1 KX777251.1 trimethoprim resistant dihydrofolate reductase dfr diaminopyrimidine antibiotic antibiotic target replacement dfrv ARO:3002132 38532 5901 868 DHA-1 DHA-1 CAA76196.1 Y16410.1 DHA beta-lactamase cephalosporin;cephamycin antibiotic inactivation DHA-1 ARO:3002141 38541 2110 1883 DHA-10 DHA-10 AJO16043.1 KP050490.1 DHA beta-lactamase cephalosporin;cephamycin antibiotic inactivation DHA-10 ARO:3002143 38543 1983 846 DHA-12 DHA-12 CDL68900.1 HG798963.1 DHA beta-lactamase cephalosporin;cephamycin antibiotic inactivation DHA-12 @@ -1359,6 +1373,7 @@ ARO:3000842 37222 2046 1119 EBR-1 EBR-1 AAN32638.1 AF416700.1 EBR beta-lactamase ARO:3004463 41678 4438 2900 EBR-2 EBR-2 ALG03771.1 KR131616.1 EBR beta-lactamase carbapenem;cephalosporin;penam antibiotic inactivation EBR-2 ARO:3005461 43923 6961 4586 EBR-3 EBR-3 WP_150823468.1 NG_066507.1 EBR beta-lactamase carbapenem;cephalosporin;penam antibiotic inactivation EBR-3 ARO:3005462 43924 6962 4587 EBR-4 EBR-4 WP_114999921.1 NG_073461.1 EBR beta-lactamase carbapenem;cephalosporin;penam antibiotic inactivation EBR-4 +ARO:3007437 46195 8655 5931 EBR-5 EBR-5 UWX67704.1 CP104209.1 EBR beta-lactamase carbapenem;cephalosporin;penam antibiotic inactivation EBR-5 ARO:3006874 45336 6963 4588 EC-13 EC-13 WP_063860228.1 NG_049079.1 EC beta-lactamase cephalosporin antibiotic inactivation EC-13 ARO:3006875 45337 6964 4589 EC-14 EC-14 WP_063860233.1 NG_049080.1 EC beta-lactamase cephalosporin antibiotic inactivation EC-14 ARO:3006876 45338 6965 4590 EC-15 EC-15 WP_063610930.1 NG_049081.1 EC beta-lactamase cephalosporin antibiotic inactivation EC-15 @@ -1386,7 +1401,7 @@ ARO:3000254 36393 65 540 emrY emrY BAA11237.1 D78168.1 major facilitator superfa ARO:3004669 42716 8348 3368 emtA emtA AAL02176.1 AF403298.1 non-erm 23S ribosomal RNA methyltransferase (G748) lincosamide antibiotic;macrolide antibiotic;orthosomycin antibiotic antibiotic target alteration emtA ARO:3003374 39958 4661 2092 Enterobacter aerogenes acrR with mutation conferring multidrug antibiotic resistance Enterobacter aerogenes acrR with mutation conferring multidrug antibiotic resistance CAC35723.1 AJ306389.1 resistance-nodulation-cell division (RND) antibiotic efflux pump cephalosporin;disinfecting agents and antiseptics;fluoroquinolone antibiotic;glycylcycline;penam;phenicol antibiotic;rifamycin antibiotic;tetracycline antibiotic antibiotic efflux;antibiotic target alteration Kaer_acrR_MULT ARO:3004042 41089 3995 2660 Enterobacter cloacae acrA Enterobacter cloacae acrA ABG77965.1 DQ679966.1 resistance-nodulation-cell division (RND) antibiotic efflux pump cephalosporin;disinfecting agents and antiseptics;fluoroquinolone antibiotic;glycylcycline;penam;phenicol antibiotic;rifamycin antibiotic;tetracycline antibiotic antibiotic efflux Eclo_acrA -ARO:3004108 41229 283 538 Enterobacter cloacae rob Enterobacter cloacae rob AFK13827.1 JQ727667.1 resistance-nodulation-cell division (RND) antibiotic efflux pump cephalosporin;disinfecting agents and antiseptics;fluoroquinolone antibiotic;glycylcycline;penam;phenicol antibiotic;rifamycin antibiotic;tetracycline antibiotic antibiotic efflux Eclo_rob +ARO:3004108 41229 283 538 Enterobacter cloacae rob Enterobacter cloacae rob AFK13827.1 JQ727667.1 resistance-nodulation-cell division (RND) antibiotic efflux pump cephalosporin;disinfecting agents and antiseptics;fluoroquinolone antibiotic;glycylcycline;macrolide antibiotic;penam;phenicol antibiotic;rifamycin antibiotic;tetracycline antibiotic antibiotic efflux Eclo_rob ARO:3004458 41669 4467 2897 Enterococcus faecalis chloramphenicol acetyltransferase Enterococcus faecalis chloramphenicol acetyltransferase CAA63498.2 X92945.2 chloramphenicol acetyltransferase (CAT) phenicol antibiotic antibiotic inactivation Efae_ACT_CHL ARO:3003760 40417 3537 2272 Enterococcus faecalis cls with mutation conferring resistance to daptomycin Enterococcus faecalis cls with mutation conferring resistance to daptomycin AEA93051.1 CP002621.1 daptomycin resistant cls peptide antibiotic antibiotic target alteration Efae_cls_DAP ARO:3003813 40502 5210 2312 Enterococcus faecalis drmA with mutation conferring daptomycin resistance Enterococcus faecalis drmA with mutation conferring daptomycin resistance AAO81566.1 AE016830.1 daptomycin resistant drmA peptide antibiotic antibiotic target alteration Efae_drmA_DAP @@ -1432,6 +1447,7 @@ ARO:3004626 42608 5349 3324 Erm(49) Erm(49) OPG86592.1 MWVR01000009.1 Erm 23S ri ARO:3007032 45591 8322 5762 Erm(50) Erm(50) BBJ25230.1 LC473083.1 Erm 23S ribosomal RNA methyltransferase lincosamide antibiotic;macrolide antibiotic;streptogramin antibiotic antibiotic target alteration Erm(50) ARO:3007033 45592 8300 5746 Erm(51) Erm(51) QKE44141.1 MN928789.1 Erm 23S ribosomal RNA methyltransferase lincosamide antibiotic;macrolide antibiotic;streptogramin B antibiotic;streptogramin antibiotic antibiotic target alteration Erm(51) ARO:3007041 45600 8296 5742 Erm(52) Erm(52) QQM99828.1 MW269959.1 Erm 23S ribosomal RNA methyltransferase lincosamide antibiotic;macrolide antibiotic;streptogramin antibiotic antibiotic target alteration Erm(52) +ARO:3007654 46432 8709 5988 erm(56) erm(56) WGG63489.1 OQ326498.1 Erm 23S ribosomal RNA methyltransferase lincosamide antibiotic;macrolide antibiotic;streptogramin B antibiotic;streptogramin antibiotic antibiotic target alteration erm(56) ARO:3000347 36486 5170 985 ErmA ErmA CAA26964.1 X03216.1 Erm 23S ribosomal RNA methyltransferase lincosamide antibiotic;macrolide antibiotic;streptogramin A antibiotic;streptogramin B antibiotic;streptogramin antibiotic antibiotic target alteration ErmA ARO:3000375 36514 8354 1549 ErmB ErmB AAF86219.1 AF242872.1 Erm 23S ribosomal RNA methyltransferase lincosamide antibiotic;macrolide antibiotic;streptogramin A antibiotic;streptogramin B antibiotic;streptogramin antibiotic antibiotic target alteration ErmB ARO:3000250 36389 501 881 ErmC ErmC AAA98296.1 M12730.1 Erm 23S ribosomal RNA methyltransferase lincosamide antibiotic;macrolide antibiotic;streptogramin A antibiotic;streptogramin B antibiotic;streptogramin antibiotic antibiotic target alteration ErmC @@ -1455,6 +1471,7 @@ ARO:3000596 36735 5163 950 ErmX ErmX AAA98484.1 M36726.1 Erm 23S ribosomal RNA m ARO:3002825 39259 630 1797 ErmY ErmY BAB20748.1 AB014481.1 Erm 23S ribosomal RNA methyltransferase lincosamide antibiotic;macrolide antibiotic;streptogramin antibiotic antibiotic target alteration ErmY ARO:3004605 42565 5231 3303 ermZ ermZ CAM96571.1 AM709783.1 Erm 23S ribosomal RNA methyltransferase lincosamide antibiotic;macrolide antibiotic;streptogramin antibiotic antibiotic target alteration ermZ ARO:3004782 42898 5780 3582 ERP-1 ERP-1 AAL86999.1 AY077733.1 ERP beta-lactamase penam antibiotic inactivation ERP-1 +ARO:3007544 46315 8698 5976 Erysipelothrix rhusiopathiae gyrA with mutation conferring resistance to enrofloxacin Erysipelothrix rhusiopathiae gyrA with mutation conferring resistance to enrofloxacin VEH83056.1 LR134439.1 fluoroquinolone resistant gyrA fluoroquinolone antibiotic;nybomycin-like antibiotic antibiotic target alteration Erhu_gyrA_ENR ARO:3003223 39807 3234 2068 Escherichia coli 16S rRNA mutation conferring resistance to edeine Escherichia coli 16S rRNA mutation conferring resistance to edeine U00096.1 16s rRNA with mutation conferring resistance to peptide antibiotics aminoglycoside antibiotic;glycopeptide antibiotic;glycylcycline;nucleoside antibiotic;peptide antibiotic;tetracycline antibiotic antibiotic target alteration Ecol_16S_EDN ARO:3003377 39961 3239 2085 Escherichia coli 16S rRNA (rrnB) mutation conferring resistance to spectinomycin Escherichia coli 16S rRNA (rrnB) mutation conferring resistance to spectinomycin U00096.1 16s rRNA with mutation conferring resistance to aminoglycoside antibiotics aminoglycoside antibiotic;glycopeptide antibiotic;glycylcycline;nucleoside antibiotic;peptide antibiotic;tetracycline antibiotic antibiotic target alteration Ecol_16S_SPT ARO:3003406 39990 3237 2146 Escherichia coli 16S rRNA (rrnB) mutation conferring resistance to streptomycin Escherichia coli 16S rRNA (rrnB) mutation conferring resistance to streptomycin U00096.1 16s rRNA with mutation conferring resistance to aminoglycoside antibiotics aminoglycoside antibiotic;glycopeptide antibiotic;glycylcycline;nucleoside antibiotic;peptide antibiotic;tetracycline antibiotic antibiotic target alteration Ecol_16S_STR @@ -1502,15 +1519,17 @@ ARO:3003756 40413 5250 2269 Escherichia coli nfsB with mutation conferring resis ARO:3003390 39974 5413 3 Escherichia coli ompF with mutation conferring resistance to beta-lactam antibiotics Escherichia coli ompF with mutation conferring resistance to beta-lactam antibiotics AAC74015.1 U00096.3 General Bacterial Porin with reduced permeability to beta-lactams carbapenem;cephalosporin;cephamycin;monobactam;penam;penem reduced permeability to antibiotic Ecol_ompF_BLA ARO:3003308 39892 4704 1450 Escherichia coli parC conferring resistance to fluoroquinolones Escherichia coli parC conferring resistance to fluoroquinolones AAC76055.1 U00096.3 fluoroquinolone resistant parC fluoroquinolone antibiotic antibiotic target alteration Ecol_parC_FLO ARO:3003316 39900 5533 1055 Escherichia coli parE conferring resistance to fluoroquinolones Escherichia coli parE conferring resistance to fluoroquinolones BAE77086.1 AP009048.1 fluoroquinolone resistant parE fluoroquinolone antibiotic antibiotic target alteration Ecol_parE_FLO +ARO:3007423 46179 8644 5925 Escherichia coli PBP3 mutants conferring resistance to beta-lactam antibiotics Escherichia coli PBP3 mutants conferring resistance to beta-lactam antibiotics CAA38861.1 X55034.1 Penicillin-binding protein mutations conferring resistance to beta-lactam antibiotics carbapenem;cephalosporin;cephamycin;monobactam;penam antibiotic target alteration Ecol_PBP3_BLA ARO:3003899 40601 3675 2377 Escherichia coli PtsI with mutation conferring resistance to fosfomycin Escherichia coli PtsI with mutation conferring resistance to fosfomycin CDJ72759.1 HG738867.1 antibiotic-resistant ptsI phosphotransferase phosphonic acid antibiotic antibiotic target alteration Ecol_PtsI_FOF ARO:3004109 41230 4487 2776 Escherichia coli rob Escherichia coli rob NP_418813.1 NC_000913.3 resistance-nodulation-cell division (RND) antibiotic efflux pump cephalosporin;disinfecting agents and antiseptics;fluoroquinolone antibiotic;glycylcycline;penam;phenicol antibiotic;rifamycin antibiotic;tetracycline antibiotic antibiotic efflux Ecol_rob ARO:3003288 39872 5493 627 Escherichia coli rpoB mutants conferring resistance to rifampicin Escherichia coli rpoB mutants conferring resistance to rifampicin BAB38333.1 BA000007.3 rifamycin-resistant beta-subunit of RNA polymerase (rpoB) peptide antibiotic;rifamycin antibiotic antibiotic target alteration;antibiotic target replacement Ecol_rpoB_RIF ARO:3003381 39965 2074 1005 Escherichia coli soxR with mutation conferring antibiotic resistance Escherichia coli soxR with mutation conferring antibiotic resistance AAC77033.1 U00096.1 ATP-binding cassette (ABC) antibiotic efflux pump;major facilitator superfamily (MFS) antibiotic efflux pump;resistance-nodulation-cell division (RND) antibiotic efflux pump cephalosporin;disinfecting agents and antiseptics;fluoroquinolone antibiotic;glycylcycline;penam;phenicol antibiotic;rifamycin antibiotic;tetracycline antibiotic antibiotic efflux;antibiotic target alteration Ecol_soxR_MULT ARO:3003511 40113 5276 2066 Escherichia coli soxS with mutation conferring antibiotic resistance Escherichia coli soxS with mutation conferring antibiotic resistance AAC77032.1 U00096.3 ATP-binding cassette (ABC) antibiotic efflux pump;General Bacterial Porin with reduced permeability to beta-lactams;major facilitator superfamily (MFS) antibiotic efflux pump;resistance-nodulation-cell division (RND) antibiotic efflux pump carbapenem;cephalosporin;cephamycin;disinfecting agents and antiseptics;fluoroquinolone antibiotic;glycylcycline;monobactam;penam;penem;phenicol antibiotic;rifamycin antibiotic;tetracycline antibiotic antibiotic efflux;antibiotic target alteration;reduced permeability to antibiotic Ecol_soxS_MULT -ARO:3003893 40595 3668 2374 Escherichia coli UhpA with mutation conferring resistance to fosfomycin Escherichia coli uhpA with mutation conferring resistance to fosfomycin CDJ73205.1 HG738867.1 antibiotic-resistant UhpT phosphonic acid antibiotic antibiotic target alteration Ecol_uhpA_FOF ARO:3003893 40595 3671 2376 Escherichia coli UhpA with mutation conferring resistance to fosfomycin Escherichia coli uhpA with mutation conferring resistance to fosfomycin CDJ73205.1 HG738867.1 antibiotic-resistant UhpT phosphonic acid antibiotic antibiotic target alteration Ecol_uhpA_FOF +ARO:3003893 40595 3668 2374 Escherichia coli UhpA with mutation conferring resistance to fosfomycin Escherichia coli uhpA with mutation conferring resistance to fosfomycin CDJ73205.1 HG738867.1 antibiotic-resistant UhpT phosphonic acid antibiotic antibiotic target alteration Ecol_uhpA_FOF ARO:3003890 40592 3667 2373 Escherichia coli UhpT with mutation conferring resistance to fosfomycin Escherichia coli UhpT with mutation conferring resistance to fosfomycin CDJ73208.1 HG738867.1 antibiotic-resistant UhpT phosphonic acid antibiotic antibiotic target alteration Ecol_UhpT_FOF ARO:3003717 40371 3432 2232 ESP-1 ESP-1 AJP77085.1 KP109681.1 ESP beta-lactamase carbapenem antibiotic inactivation ESP-1 +ARO:3007459 46222 8670 5948 EstT EstT UXD71803.1 CP094932.1 macrolide esterase glycylcycline;macrolide antibiotic;tetracycline antibiotic antibiotic inactivation EstT ARO:3000832 37212 5466 1015 evgA evgA BAB36671.1 BA000007.3 major facilitator superfamily (MFS) antibiotic efflux pump;resistance-nodulation-cell division (RND) antibiotic efflux pump fluoroquinolone antibiotic;macrolide antibiotic;penam;tetracycline antibiotic antibiotic efflux evgA ARO:3000833 37213 178 1318 evgS evgS AAC75429.1 U00096.1 major facilitator superfamily (MFS) antibiotic efflux pump;resistance-nodulation-cell division (RND) antibiotic efflux pump fluoroquinolone antibiotic;macrolide antibiotic;penam;tetracycline antibiotic antibiotic efflux evgS ARO:3006886 45348 6975 4600 EVM-1 EVM-1 WP_122630823.1 NG_062205.1 EVM beta-lactamase carbapenem antibiotic inactivation EVM-1 @@ -1538,10 +1557,11 @@ ARO:3000149 36288 5386 1222 FosA FosA AAG04518.1 AE004091.2 fosfomycin thiol tra ARO:3002804 39238 341 35 FosA2 FosA2 ACC85616.1 EU487198.1 fosfomycin thiol transferase phosphonic acid antibiotic antibiotic inactivation FosA2 ARO:3002872 39306 540 834 FosA3 FosA3 AEG78825.1 JF411006.1 fosfomycin thiol transferase phosphonic acid antibiotic antibiotic inactivation FosA3 ARO:3003210 39794 1439 1979 FosA4 FosA4 BAP18892.1 AB908992.1 fosfomycin thiol transferase phosphonic acid antibiotic antibiotic inactivation FosA4 -ARO:3003209 39793 4457 112 fosA5 fosA5 AJE60855.1 KP143090.1 fosfomycin thiol transferase phosphonic acid antibiotic antibiotic inactivation fosA5 +ARO:3003209 39793 4457 112 fosA5 fosA5 AJE60855.1 KP143090.1 fosfomycin thiol transferase aminoglycoside antibiotic;fluoroquinolone antibiotic;phosphonic acid antibiotic antibiotic inactivation fosA5 ARO:3004111 41232 4755 2779 FosA6 FosA6 AMQ12811.1 KU254579.1 fosfomycin thiol transferase phosphonic acid antibiotic antibiotic inactivation FosA6 ARO:3004113 41234 4093 2780 FosA7 FosA7 KKE03230.1 LAPJ01000014.1 fosfomycin thiol transferase phosphonic acid antibiotic antibiotic inactivation FosA7 ARO:3005162 43514 6213 3886 FosA7.5 FosA7.5 ANQ03635.1 CP015912.1 fosfomycin thiol transferase phosphonic acid antibiotic antibiotic inactivation FosA7.5 +ARO:3007371 46119 8593 5899 FosA8 FosA8 QEI22965.1 MN150127.1 fosfomycin thiol transferase phosphonic acid antibiotic antibiotic inactivation FosA8 ARO:3000172 36311 5284 1567 FosB FosB AAP08996.1 AE016877.1 fosfomycin thiol transferase phosphonic acid antibiotic antibiotic inactivation FosB ARO:3004670 42717 5554 3369 FosB1 FosB1 BAE05988.1 AP006717.1 fosfomycin thiol transferase phosphonic acid antibiotic antibiotic inactivation FosB1 ARO:3005100 43315 6144 3832 FosB2 FosB2 AAP27834.1 AE016879.1 fosfomycin thiol transferase phosphonic acid antibiotic antibiotic inactivation FosB2 @@ -1549,15 +1569,20 @@ ARO:3002873 39307 418 1460 FosB3 FosB3 ADX95999.1 HQ219726.1 fosfomycin thiol tr ARO:3004671 42719 5555 3370 FosB4 FosB4 ALM24139.1 KR870311.1 fosfomycin thiol transferase phosphonic acid antibiotic antibiotic inactivation FosB4 ARO:3004672 42720 5556 3371 FosB5 FosB5 ALN12426.1 KT032253.1 fosfomycin thiol transferase phosphonic acid antibiotic antibiotic inactivation FosB5 ARO:3004673 42721 5557 3372 FosB6 FosB6 ALM24145.1 KR870314.1 fosfomycin thiol transferase phosphonic acid antibiotic antibiotic inactivation FosB6 +ARO:3007372 46120 8594 5900 FosBx1 FosBx1 QLF01382.1 CP043966.1 fosfomycin thiol transferase phosphonic acid antibiotic antibiotic inactivation FosBx1 ARO:3000380 36519 481 1215 FosC FosC CAA83855.1 Z33413.1 fosC phosphotransferase family phosphonic acid antibiotic antibiotic inactivation FosC ARO:3002874 39308 580 2060 FosC2 FosC2 BAJ10053.1 AB522969.1 fosC phosphotransferase family phosphonic acid antibiotic antibiotic inactivation FosC2 ARO:3004674 42722 5558 3373 FosD FosD BAG12271.1 AB304512.1 fosfomycin thiol transferase phosphonic acid antibiotic antibiotic inactivation FosD +ARO:3007368 46115 8590 5896 FosG FosG RTB44598.1 RWWU01000174.1 fosfomycin thiol transferase phosphonic acid antibiotic antibiotic inactivation FosG +ARO:3007369 46116 8591 5897 FosH FosH ADF48907.1 GU966683.1 fosfomycin thiol transferase phosphonic acid antibiotic antibiotic inactivation FosH +ARO:3007370 46117 8592 5898 FosI FosI AFJ38137.1 CP003505.2 fosfomycin thiol transferase phosphonic acid antibiotic antibiotic inactivation FosI ARO:3003207 39791 8153 1703 FosK FosK BAO79518.1 AB917040.2 fosfomycin thiol transferase phosphonic acid antibiotic antibiotic inactivation FosK ARO:3005024 43215 6055 3765 FosL1 FosL1 QHR93773.1 MN464149.1 fosfomycin thiol transferase phosphonic acid antibiotic antibiotic inactivation FosL1 ARO:3007097 45661 8445 5772 FosM1 FosM1 DAC85639.1 BK012111.1 fosfomycin thiol transferase phosphonic acid antibiotic antibiotic inactivation FosM1 ARO:3007098 45663 8446 5773 FosM2 FosM2 DAC85640.1 BK012112.1 fosfomycin thiol transferase phosphonic acid antibiotic antibiotic inactivation FosM2 ARO:3007099 45665 8447 5774 FosM3 FosM3 DAC85641.1 BK012113.1 fosfomycin thiol transferase phosphonic acid antibiotic antibiotic inactivation FosM3 ARO:3000198 36337 3611 129 FosX FosX CWV56762.1 FFFO01000009.1 fosfomycin thiol transferase phosphonic acid antibiotic antibiotic inactivation FosX +ARO:3003208 39792 8589 5895 FosXCC FosXCC AIF29598.1 KC876749.1 fosfomycin thiol transferase phosphonic acid antibiotic antibiotic inactivation FosXCC ARO:3007069 45631 8437 5765 FosY FosY QTE33800.1 MN961674.1 fosfomycin thiol transferase phosphonic acid antibiotic antibiotic inactivation FosY ARO:3002155 38555 870 509 FOX-1 FOX-1 CAA54602.1 X77455.1 FOX beta-lactamase cephalosporin;cephamycin antibiotic inactivation FOX-1 ARO:3002162 38562 951 422 FOX-10 FOX-10 AGE45503.1 JX049131.1 FOX beta-lactamase cephalosporin;cephamycin antibiotic inactivation FOX-10 @@ -1577,6 +1602,7 @@ ARO:3002163 38563 1515 990 FOX-9 FOX-9 AEK78851.1 JF896803.1 FOX beta-lactamase ARO:3004795 42913 5789 3591 FPH-1 FPH-1 AJI75632.1 CP010019.1 FPH beta-lactamase penam antibiotic inactivation FPH-1 ARO:3004797 42916 5790 3592 FRI-1 FRI-1 ALE30770.1 KT192551.1 FRI beta-lactamase penam antibiotic inactivation FRI-1 ARO:3006227 44689 6983 4608 FRI-10 FRI-10 WP_204376226.1 NG_073462.1 FRI beta-lactamase penam antibiotic inactivation FRI-10 +ARO:3007632 46405 8701 5979 FRI-11 FRI-11 UAN43462.1 CP074152.1 FRI beta-lactamase carbapenem;penam antibiotic inactivation FRI-11 ARO:3004798 42917 6129 3593 FRI-2 FRI-2 ANZ90381.1 KX620467.1 FRI beta-lactamase penam antibiotic inactivation FRI-2 ARO:3004799 42918 5792 3594 FRI-3 FRI-3 AQS23610.1 KY524440.1 FRI beta-lactamase penam antibiotic inactivation FRI-3 ARO:3005027 43218 6056 3766 FRI-4 FRI-4 BAX00166.1 LC178555.1 FRI beta-lactamase penam antibiotic inactivation FRI-4 @@ -1832,6 +1858,12 @@ ARO:3005490 43952 7085 4710 IMP-85 IMP-85 WP_152315465.1 NG_066696.1 IMP beta-la ARO:3005491 43953 7086 4711 IMP-88 IMP-88 WP_188331870.1 NG_070737.1 IMP beta-lactamase carbapenem;cephalosporin;cephamycin;penam;penem antibiotic inactivation IMP-88 ARO:3005492 43954 7087 4712 IMP-89 IMP-89 WP_181727105.1 NG_070738.1 IMP beta-lactamase carbapenem;cephalosporin;cephamycin;penam;penem antibiotic inactivation IMP-89 ARO:3002200 38600 8223 1982 IMP-9 IMP-9 AAK59385.1 KC543497.1 IMP beta-lactamase carbapenem;cephalosporin;cephamycin;penam;penem antibiotic inactivation IMP-9 +ARO:3007460 46224 8671 5949 IMP-91 IMP-91 WP_079387329.1 NG_076634.1 IMP beta-lactamase carbapenem;cephalosporin;cephamycin;penam;penem antibiotic inactivation IMP-91 +ARO:3007462 46227 8673 5951 IMP-92 IMP-92 WP_240067720.1 NG_079227.1 IMP beta-lactamase carbapenem;cephalosporin;cephamycin;penam;penem antibiotic inactivation IMP-92 +ARO:3007463 46228 8674 5952 IMP-93 IMP-93 WP_234855925.1 NG_079228.1 IMP beta-lactamase carbapenem;cephalosporin;cephamycin;penam;penem antibiotic inactivation IMP-93 +ARO:3007464 46229 8675 5953 IMP-94 IMP-94 WP_240067721.1 NG_079229.1 IMP beta-lactamase carbapenem;cephalosporin;cephamycin;penam;penem antibiotic inactivation IMP-94 +ARO:3007465 46230 8676 5954 IMP-95 IMP-95 WP_242934067.1 NG_079887.1 IMP beta-lactamase carbapenem;cephalosporin;cephamycin;penam;penem antibiotic inactivation IMP-95 +ARO:3007461 46225 8672 5950 IMP-96 IMP-96 WP_186931965.1 NG_080776.1 IMP beta-lactamase carbapenem;cephalosporin;cephamycin;penam;penem antibiotic inactivation IMP-96 ARO:3002256 38656 1595 1009 IND-1 IND-1 AAD20273.1 AF099139.1 IND beta-lactamase carbapenem antibiotic inactivation IND-1 ARO:3002266 38666 1672 886 IND-10 IND-10 ADA13241.1 GU206353.1 IND beta-lactamase carbapenem antibiotic inactivation IND-10 ARO:3002267 38667 1747 304 IND-11 IND-11 ADK25050.1 HM245379.1 IND beta-lactamase carbapenem antibiotic inactivation IND-11 @@ -1839,6 +1871,7 @@ ARO:3002268 38668 1826 1444 IND-12 IND-12 ADK25051.1 HM245380.1 IND beta-lactama ARO:3002269 38669 1908 858 IND-14 IND-14 ADK38716.1 HM367709.1 IND beta-lactamase carbapenem antibiotic inactivation IND-14 ARO:3002270 38670 1987 1284 IND-15 IND-15 BAJ14288.1 AB563173.1 IND beta-lactamase carbapenem antibiotic inactivation IND-15 ARO:3005493 43955 7088 4713 IND-16 IND-16 WP_052769157.1 NG_054943.1 IND beta-lactamase carbapenem antibiotic inactivation IND-16 +ARO:3007470 46235 8677 5955 IND-17 IND-17 QAT79362.1 MK401904.1 IND beta-lactamase carbapenem antibiotic inactivation IND-17 ARO:3002257 38657 774 311 IND-2 IND-2 AAG29757.1 AF219127.1 IND beta-lactamase carbapenem antibiotic inactivation IND-2 ARO:3002258 38658 838 1349 IND-2a IND-2a AAG29760.1 AF219130.1 IND beta-lactamase carbapenem antibiotic inactivation IND-2a ARO:3002259 38659 8190 670 IND-3 IND-3 AAG29761.2 AF219131.2 IND beta-lactamase carbapenem antibiotic inactivation IND-3 @@ -1848,24 +1881,28 @@ ARO:3002262 38662 8287 590 IND-6 IND-6 CAJ32373.2 AM087455.2 IND beta-lactamase ARO:3002263 38663 1261 124 IND-7 IND-7 BAJ05825.1 AB529520.1 IND beta-lactamase carbapenem antibiotic inactivation IND-7 ARO:3002264 38664 1340 2042 IND-8 IND-8 ACZ65152.1 GU186044.1 IND beta-lactamase carbapenem antibiotic inactivation IND-8 ARO:3002265 38665 1417 1455 IND-9 IND-9 ACZ65153.1 GU186045.1 IND beta-lactamase carbapenem antibiotic inactivation IND-9 +ARO:3007678 46460 8733 6005 IreK IreK WKR28567.1 CP124778.1 Serine/threonine kinases cephalosporin reduced permeability to antibiotic IreK ARO:3002884 39318 474 796 iri iri AAB41059.1 U56415.1 rifampin monooxygenase rifamycin antibiotic antibiotic inactivation iri ARO:3000840 37220 1483 222 JOHN-1 JOHN-1 AAK38324.1 AY028464.1 JOHN beta-lactamase carbapenem;cephalosporin;penam antibiotic inactivation JOHN-1 ARO:3004102 41213 4082 2770 kamB kamB WP_063964000.1 NG_050561.1 16S rRNA methyltransferase (A1408) aminoglycoside antibiotic antibiotic target alteration kamB ARO:3007206 45950 8510 5818 KBL-1 KBL-1 BCL63355.1 LC579778.1 KBL beta-lactamase penam antibiotic inactivation KBL-1 +ARO:3004047 41099 8633 5918 kdpD kdpD CYF42523.1 FHDU01000010.1 kdpDE aminoglycoside antibiotic antibiotic efflux kdpD ARO:3003841 40534 5205 2331 kdpE kdpE AAC73788.1 U00096.3 kdpDE aminoglycoside antibiotic antibiotic efflux kdpE ARO:3000847 37227 1557 1812 KHM-1 KHM-1 BAF91108.1 AB364006.1 KHM beta-lactamase carbapenem;cephalosporin;cephamycin;penam;penem antibiotic inactivation KHM-1 ARO:3003385 39969 2109 1441 Klebsiella aerogenes Omp36 Klebsiella aerogenes Omp36 AAK11270.1 AF335467.1 General Bacterial Porin with reduced permeability to beta-lactams carbapenem;cephalosporin;cephamycin;monobactam;penam;penem reduced permeability to antibiotic Kaer_Omp36 -ARO:3003585 40195 4715 1320 Klebsiella mutant PhoP conferring antibiotic resistance to colistin Klebsiella mutant PhoP conferring antibiotic resistance to colistin CDO13981.1 FO834906.1 ATP-binding cassette (ABC) antibiotic efflux pump;pmr phosphoethanolamine transferase macrolide antibiotic;peptide antibiotic antibiotic efflux;antibiotic target alteration;resistance by absence Kleb_PhoP_CST +ARO:3003585 40195 4715 1320 Klebsiella mutant PhoP conferring antibiotic resistance to colistin Klebsiella mutant PhoP conferring antibiotic resistance to colistin CDO13981.1 FO834906.1 ATP-binding cassette (ABC) antibiotic efflux pump;pmr phosphoethanolamine transferase;transmembrane protein conferring colistin resistance macrolide antibiotic;peptide antibiotic antibiotic efflux;antibiotic target alteration;resistance by absence Kleb_PhoP_CST ARO:3004041 41088 3994 2659 Klebsiella pneumoniae acrA Klebsiella pneumoniae acrA CAC41008.1 AJ318073.1 resistance-nodulation-cell division (RND) antibiotic efflux pump cephalosporin;disinfecting agents and antiseptics;fluoroquinolone antibiotic;glycylcycline;penam;phenicol antibiotic;rifamycin antibiotic;tetracycline antibiotic antibiotic efflux Kpne_acrA ARO:3003373 39957 2069 1989 Klebsiella pneumoniae acrR with mutation conferring multidrug antibiotic resistance Klebsiella pneumoniae acrR with mutation conferring multidrug antibiotic resistance ABR75897.1 CP000647.1 resistance-nodulation-cell division (RND) antibiotic efflux pump cephalosporin;disinfecting agents and antiseptics;fluoroquinolone antibiotic;glycylcycline;penam;phenicol antibiotic;rifamycin antibiotic;tetracycline antibiotic antibiotic efflux;antibiotic target alteration Kpne_acrR_MULT -ARO:3004580 42506 5313 3283 Klebsiella pneumoniae KpnE Klebsiella pneumoniae KpnE BAH63251.1 AP006725.1 major facilitator superfamily (MFS) antibiotic efflux pump aminoglycoside antibiotic;cephalosporin;disinfecting agents and antiseptics;macrolide antibiotic;peptide antibiotic;rifamycin antibiotic;tetracycline antibiotic antibiotic efflux Kpne_KpnE -ARO:3004583 42513 5312 3286 Klebsiella pneumoniae KpnF Klebsiella pneumoniae KpnF BAH63252.1 AP006725.1 major facilitator superfamily (MFS) antibiotic efflux pump aminoglycoside antibiotic;cephalosporin;disinfecting agents and antiseptics;macrolide antibiotic;peptide antibiotic;rifamycin antibiotic;tetracycline antibiotic antibiotic efflux Kpne_KpnF +ARO:3004580 42506 5313 3283 Klebsiella pneumoniae KpnE Klebsiella pneumoniae KpnE BAH63251.1 AP006725.1 small multidrug resistance (SMR) antibiotic efflux pump aminoglycoside antibiotic;cephalosporin;disinfecting agents and antiseptics;macrolide antibiotic;peptide antibiotic;rifamycin antibiotic;tetracycline antibiotic antibiotic efflux Kpne_KpnE +ARO:3004583 42513 5312 3286 Klebsiella pneumoniae KpnF Klebsiella pneumoniae KpnF BAH63252.1 AP006725.1 small multidrug resistance (SMR) antibiotic efflux pump aminoglycoside antibiotic;cephalosporin;disinfecting agents and antiseptics;macrolide antibiotic;peptide antibiotic;rifamycin antibiotic;tetracycline antibiotic antibiotic efflux Kpne_KpnF ARO:3004588 42518 5311 3298 Klebsiella pneumoniae KpnG Klebsiella pneumoniae KpnG EHL92831.1 ACWO01000051.1 major facilitator superfamily (MFS) antibiotic efflux pump aminoglycoside antibiotic;carbapenem;cephalosporin;fluoroquinolone antibiotic;macrolide antibiotic;penam;penem;peptide antibiotic antibiotic efflux Kpne_KpnG ARO:3004597 42528 5310 3299 Klebsiella pneumoniae KpnH Klebsiella pneumoniae KpnH EOU56998.1 ASTU01000063.1 major facilitator superfamily (MFS) antibiotic efflux pump aminoglycoside antibiotic;carbapenem;cephalosporin;fluoroquinolone antibiotic;macrolide antibiotic;penam;penem;peptide antibiotic antibiotic efflux Kpne_KpnH -ARO:3007203 45947 8508 5816 Klebsiella pneumoniae mutant PhoQ conferring resistance to colistin Klebsiella pneumoniae mutant PhoQ conferring resistance to colistin QWW12915.1 CP052761.1 ATP-binding cassette (ABC) antibiotic efflux pump;pmr phosphoethanolamine transferase macrolide antibiotic;peptide antibiotic antibiotic efflux;antibiotic target alteration;resistance by absence Kpne_PhoQ_CST +ARO:3007420 46176 8640 5923 Klebsiella pneumoniae lamB with mutations conferring resistance to ceftazidime-avibactam Klebsiella pneumoniae lamB with mutations conferring resistance to ceftazidime-avibactam WAH47136.1 CP109607.1 Sugar Porin (SP) cephalosporin;fluoroquinolone antibiotic;tetracycline antibiotic reduced permeability to antibiotic Kpne_lamB_CZA +ARO:3007203 45947 8508 5816 Klebsiella pneumoniae mutant PhoQ conferring resistance to colistin Klebsiella pneumoniae mutant PhoQ conferring resistance to colistin QWW12915.1 CP052761.1 ATP-binding cassette (ABC) antibiotic efflux pump;pmr phosphoethanolamine transferase;transmembrane protein conferring colistin resistance macrolide antibiotic;peptide antibiotic antibiotic efflux;antibiotic target alteration;resistance by absence Kpne_PhoQ_CST ARO:3003966 40737 5852 2432 Klebsiella pneumoniae OmpK35 Klebsiella pneumoniae OmpK35 YP_005226137.1 NC_016845.1 General Bacterial Porin with reduced permeability to beta-lactams carbapenem;cephalosporin;cephamycin;monobactam;penam;penem reduced permeability to antibiotic;resistance by absence Kpne_OmpK35 ARO:3003968 40739 5853 2434 Klebsiella pneumoniae OmpK36 Klebsiella pneumoniae OmpK36 YP_005228001.1 NC_016845.1 General Bacterial Porin with reduced permeability to beta-lactams carbapenem;cephalosporin;cephamycin;monobactam;penam;penem reduced permeability to antibiotic;resistance by absence Kpne_OmpK36 ARO:3004122 41247 4406 2785 Klebsiella pneumoniae OmpK37 Klebsiella pneumoniae OmpK37 CAA09666.1 AJ011502.1 General Bacterial Porin with reduced permeability to beta-lactams carbapenem;cephalosporin;cephamycin;monobactam;penam;penem reduced permeability to antibiotic Kpne_OmpK37 +ARO:3007421 46177 8643 5924 Klebsiella pneumoniae PBP3 mutants conferring resistance to ceftazidime-avibactam Klebsiella pneumoniae PBP3 mutants conferring resistance to ceftazidime-avibactam CDO16001.1 FO834906.1 Penicillin-binding protein mutations conferring resistance to beta-lactam antibiotics carbapenem;cephalosporin;cephamycin;monobactam;penam antibiotic target alteration Kpne_PBP3_BLA ARO:3003380 39964 4572 597 Klebsiella pneumoniae ramR mutants Klebsiella pneumoniae ramR mutants ABR76005.1 CP000647.1 resistance-nodulation-cell division (RND) antibiotic efflux pump cephalosporin;disinfecting agents and antiseptics;fluoroquinolone antibiotic;glycylcycline;penam;phenicol antibiotic;rifamycin antibiotic;tetracycline antibiotic antibiotic efflux;antibiotic target alteration Kpne_ramR ARO:3006927 45389 7089 4714 KLUC-1 KLUC-1 WP_061284984.1 NG_049241.1 KLUC beta-lactamase cephalosporin antibiotic inactivation KLUC-1 ARO:3006928 45390 7090 4715 KLUC-2 KLUC-2 WP_032491875.1 NG_049242.1 KLUC beta-lactamase cephalosporin antibiotic inactivation KLUC-2 @@ -1873,9 +1910,11 @@ ARO:3006929 45391 7091 4716 KLUC-3 KLUC-3 WP_032495491.1 NG_062209.1 KLUC beta-l ARO:3006930 45392 7092 4717 KLUC-4 KLUC-4 WP_032495492.1 NG_062210.1 KLUC beta-lactamase cephalosporin antibiotic inactivation KLUC-4 ARO:3006931 45393 7093 4718 KLUC-5 KLUC-5 WP_100663667.1 NG_062249.1 KLUC beta-lactamase cephalosporin antibiotic inactivation KLUC-5 ARO:3002320 38720 1633 16 KPC-10 KPC-10 ACS35345.1 GQ140348.1 KPC beta-lactamase carbapenem;cephalosporin;monobactam;penam antibiotic inactivation KPC-10 +ARO:3007446 46207 8658 5937 KPC-100 KPC-100 URC16703.1 ON521726.1 KPC beta-lactamase carbapenem;cephalosporin;monobactam;penam antibiotic inactivation KPC-100 ARO:3002321 38721 1710 769 KPC-11 KPC-11 ADH95186.1 HM066995.1 KPC beta-lactamase carbapenem;cephalosporin;monobactam;penam antibiotic inactivation KPC-11 ARO:3002322 38722 1786 1177 KPC-12 KPC-12 ADZ75467.1 HQ641421.1 KPC beta-lactamase carbapenem;cephalosporin;monobactam;penam antibiotic inactivation KPC-12 ARO:3007196 45938 8524 5811 KPC-123 KPC-123 UNN26644.1 ON012820.1 KPC beta-lactamase carbapenem;cephalosporin;monobactam;penam antibiotic inactivation KPC-123 +ARO:3007633 46407 8702 5980 KPC-125 KPC-125 WP_248496376.1 NG_080778.1 KPC beta-lactamase carbapenem;cephalosporin;monobactam;penam antibiotic inactivation KPC-125 ARO:3002323 38723 1869 1851 KPC-13 KPC-13 AEA73284.1 HQ342889.1 KPC beta-lactamase carbapenem;cephalosporin;monobactam;penam antibiotic inactivation KPC-13 ARO:3002324 38724 1971 494 KPC-14 KPC-14 AFV48348.1 JX524191.1 KPC beta-lactamase carbapenem;cephalosporin;monobactam;penam antibiotic inactivation KPC-14 ARO:3002325 38725 2049 926 KPC-15 KPC-15 AGF70638.1 KC433553.1 KPC beta-lactamase carbapenem;cephalosporin;monobactam;penam antibiotic inactivation KPC-15 @@ -1946,12 +1985,21 @@ ARO:3006205 44667 7114 4739 KPC-80 KPC-80 WP_204376233.1 NG_073469.1 KPC beta-la ARO:3006206 44668 7115 4740 KPC-81 KPC-81 WP_204376234.1 NG_073470.1 KPC beta-lactamase carbapenem;cephalosporin;monobactam;penam antibiotic inactivation KPC-81 ARO:3006207 44669 7116 4741 KPC-82 KPC-82 WP_202781289.1 NG_073471.1 KPC beta-lactamase carbapenem;cephalosporin;monobactam;penam antibiotic inactivation KPC-82 ARO:3007089 45653 8442 5771 KPC-83 KPC-83 QRM14288.1 MW581775.1 KPC beta-lactamase carbapenem;cephalosporin;monobactam;penam antibiotic inactivation KPC-83 +ARO:3007381 46131 8638 5903 KPC-86 KPC-86 QUR41142.1 MZ067229.1 KPC beta-lactamase carbapenem;cephalosporin;monobactam;penam antibiotic inactivation KPC-86 +ARO:3007375 46125 8596 5902 KPC-87 KPC-87 QUR41143.1 MZ067230.1 KPC beta-lactamase carbapenem;cephalosporin;monobactam;penam antibiotic inactivation KPC-87 ARO:3002319 38719 8408 755 KPC-9 KPC-9 ACM91559.1 FJ624872.1 KPC beta-lactamase carbapenem;cephalosporin;monobactam;penam antibiotic inactivation KPC-9 ARO:3007087 45651 8441 5770 KPC-90 KPC-90 QXT58056.1 MZ570431.1 KPC beta-lactamase carbapenem;cephalosporin;monobactam;penam antibiotic inactivation KPC-90 ARO:3007102 45670 8451 5776 KPC-93 KPC-93 QYZ75849.1 MZ569034.1 KPC beta-lactamase carbapenem;cephalosporin;monobactam;penam antibiotic inactivation KPC-93 +ARO:3007402 46153 8602 5906 KPC-94 KPC-94 QYE52346.1 MZ646140.1 KPC beta-lactamase carbapenem;cephalosporin;monobactam;penam antibiotic inactivation KPC-94 +ARO:3007383 46134 8599 5904 KPC-95 KPC-95 QYE52347.1 MZ646141.1 KPC beta-lactamase carbapenem;cephalosporin;monobactam;penam antibiotic inactivation KPC-95 +ARO:3007436 46194 8656 5930 KPC-96 KPC-96 UAY85936.1 OK086970.1 KPC beta-lactamase carbapenem;cephalosporin;monobactam;penam antibiotic inactivation KPC-96 +ARO:3007449 46210 8663 5941 KPC-97 KPC-97 UAY85937.1 OK086971.1 KPC beta-lactamase carbapenem;cephalosporin;monobactam;penam antibiotic inactivation KPC-97 +ARO:3007450 46211 8664 5942 KPC-98 KPC-98 UAZ57792.1 MZ893466.1 KPC beta-lactamase carbapenem;cephalosporin;monobactam;penam antibiotic inactivation KPC-98 +ARO:3007452 46214 8667 5945 KPC-99 KPC-99 UBJ91320.1 OK086803.1 KPC beta-lactamase carbapenem;cephalosporin;monobactam;penam antibiotic inactivation KPC-99 ARO:3000582 36721 1909 1619 L1 beta-lactamase L1 beta-lactamase CAB75346.1 AJ272109.1 L1 family beta-lactamase cephalosporin antibiotic inactivation L1_BLA ARO:3004825 42955 5818 3620 LAP-1 LAP-1 ABK58097.1 EF026092.1 LAP beta-lactamase cephalosporin;penam;penem antibiotic inactivation LAP-1 ARO:3004826 42956 5819 3621 LAP-2 LAP-2 ABV89601.1 EU159120.1 LAP beta-lactamase cephalosporin;penam;penem antibiotic inactivation LAP-2 +ARO:3007438 46196 8654 5932 LAQ-1 LAQ-1 QXM27670.1 MZ497396.1 LAQ beta lactamase cephalosporin;cephamycin;penam antibiotic inactivation LAQ-1 ARO:3004292 41457 4197 2845 Laribacter hongkongensis ampC beta-lactamase Laribacter hongkongensis ampC beta-lactamase AAT46346.1 AY632076.1 ampC-type beta-lactamase cephalosporin;penam antibiotic inactivation Lhon_ampC_BLA ARO:3001857 38257 1988 1494 LAT-1 LAT-1 CAA55007.1 X78117.1 CMY beta-lactamase cephamycin antibiotic inactivation LAT-1 ARO:3002997 39431 775 901 LCR-1 LCR-1 CAA40146.1 X56809.1 LCR beta-lactamase cephalosporin;penam antibiotic inactivation LCR-1 @@ -1999,6 +2047,7 @@ ARO:3002476 38876 960 772 LEN-6 LEN-6 AAP93848.1 AY265890.1 LEN beta-lactamase p ARO:3002457 38857 6134 1876 LEN-7 LEN-7 CTQ11867.1 CXPA01000063.1 LEN beta-lactamase penam;penem antibiotic inactivation LEN-7 ARO:3002458 38858 6133 386 LEN-8 LEN-8 CEP30258.1 CEGG01000030.1 LEN beta-lactamase penam;penem antibiotic inactivation LEN-8 ARO:3002459 38859 5358 216 LEN-9 LEN-9 AXA30439.1 CP016344.1 LEN beta-lactamase penam;penem antibiotic inactivation LEN-9 +ARO:3003843 40537 8636 5921 leuO leuO VWQ00850.1 LR730402.1 major facilitator superfamily (MFS) antibiotic efflux pump disinfecting agents and antiseptics;nucleoside antibiotic antibiotic efflux leuO ARO:3003967 40738 3766 2433 lfrA lfrA AAC43550.1 U40487.1 major facilitator superfamily (MFS) antibiotic efflux pump fluoroquinolone antibiotic antibiotic efflux lfrA ARO:3006935 45397 7121 4746 LHK-1 LHK-1 WP_081666691.1 NG_056482.1 LHK beta-lactamase carbapenem;cephalosporin antibiotic inactivation LHK-1 ARO:3006936 45398 7122 4747 LHK-2 LHK-2 WP_104531865.1 NG_056483.1 LHK beta-lactamase carbapenem;cephalosporin antibiotic inactivation LHK-2 @@ -2012,11 +2061,11 @@ ARO:3002879 39313 4180 1873 linG linG ABG65740.1 DQ836009.1 lincosamide nucleoti ARO:3003770 40442 5223 2279 Listeria monocytogenes mprF Listeria monocytogenes mprF CAC99773.1 AL591981.1 defensin resistant mprF peptide antibiotic antibiotic target alteration Lmon_mprF ARO:3003982 40864 3855 2519 LlmA 23S ribosomal RNA methyltransferase LlmA 23S ribosomal RNA methyltransferase APB03216.1 KX531046.1 Llm 23S ribosomal RNA methyltransferase lincosamide antibiotic antibiotic target alteration LlmA_23S_CLI ARO:3005018 43209 6051 3761 LMB-1 LMB-1 AYD68552.1 MH475146.1 LMB beta-lactamase carbapenem;cephalosporin;penam antibiotic inactivation LMB-1 -ARO:3003028 39462 5186 1966 lmrA lmrA CAA42550.1 X59926.1 ATP-binding cassette (ABC) antibiotic efflux pump lincosamide antibiotic antibiotic efflux;antibiotic target alteration lmrA -ARO:3002813 39247 4568 592 lmrB lmrB KIX81495.1 JYFL01000006.1 ATP-binding cassette (ABC) antibiotic efflux pump lincosamide antibiotic antibiotic efflux lmrB +ARO:3003028 39462 5186 1966 lmrA lmrA CAA42550.1 X59926.1 ATP-binding cassette (ABC) antibiotic efflux pump lincosamide antibiotic;nucleoside antibiotic antibiotic efflux;antibiotic target alteration lmrA +ARO:3002813 39247 4568 592 lmrB lmrB KIX81495.1 JYFL01000006.1 ATP-binding cassette (ABC) antibiotic efflux pump lincosamide antibiotic;nucleoside antibiotic antibiotic efflux lmrB ARO:3002881 39315 5185 974 lmrC lmrC ABX00624.1 EU124663.1 Miscellaneous ABC-F subfamily ATP-binding cassette ribosomal protection proteins lincosamide antibiotic antibiotic target protection lmrC ARO:3002882 39316 5589 1624 lmrD lmrD AYV52072.1 CP033607.1 ATP-binding cassette (ABC) antibiotic efflux pump lincosamide antibiotic antibiotic efflux lmrD -ARO:3003969 40740 4602 2435 lmrP lmrP ABF33001.1 CP000259.1 major facilitator superfamily (MFS) antibiotic efflux pump lincosamide antibiotic;macrolide antibiotic;streptogramin antibiotic;tetracycline antibiotic antibiotic efflux lmrP +ARO:3003969 40740 4602 2435 lmrP lmrP ABF33001.1 CP000259.1 major facilitator superfamily (MFS) antibiotic efflux pump lincosamide antibiotic;macrolide antibiotic;streptogramin A antibiotic;streptogramin antibiotic;tetracycline antibiotic antibiotic efflux lmrP ARO:3002835 39269 5230 27 lnuA lnuA AAA26652.1 M14039.1 lincosamide nucleotidyltransferase (LNU) lincosamide antibiotic antibiotic inactivation lnuA ARO:3002836 39270 5197 809 lnuB lnuB CAB41414.1 AJ238249.1 lincosamide nucleotidyltransferase (LNU) lincosamide antibiotic antibiotic inactivation lnuB ARO:3002837 39271 110 376 lnuC lnuC AAY32951.1 AY928180.1 lincosamide nucleotidyltransferase (LNU) lincosamide antibiotic antibiotic inactivation lnuC @@ -2024,6 +2073,7 @@ ARO:3002838 39272 153 1934 lnuD lnuD ABR14060.1 EF452177.1 lincosamide nucleotid ARO:3003762 40400 3515 2261 lnuE lnuE AGT57825.1 KF287643.1 lincosamide nucleotidyltransferase (LNU) lincosamide antibiotic antibiotic inactivation lnuE ARO:3002839 39273 8158 1491 lnuF lnuF CAD91132.1 AJ561197.2 lincosamide nucleotidyltransferase (LNU) lincosamide antibiotic antibiotic inactivation lnuF ARO:3004085 41189 4181 2749 lnuG lnuG APU52409.1 KX470419.1 lincosamide nucleotidyltransferase (LNU) lincosamide antibiotic antibiotic inactivation lnuG +ARO:3004600 42533 8648 5916 LnuH LnuH WP_051021433.1 NC_020125.1 lincosamide nucleotidyltransferase (LNU) lincosamide antibiotic antibiotic inactivation LnuH ARO:3004601 42534 5200 3301 LnuP LnuP ACS83559.1 FJ589781.1 lincosamide nucleotidyltransferase (LNU) lincosamide antibiotic antibiotic inactivation LnuP ARO:3004099 41207 4077 2758 LpeA LpeA CAH14032.1 CR628336.1 resistance-nodulation-cell division (RND) antibiotic efflux pump macrolide antibiotic antibiotic efflux LpeA ARO:3004100 41209 4076 2759 LpeB LpeB CAH14033.1 CR628336.1 resistance-nodulation-cell division (RND) antibiotic efflux pump macrolide antibiotic antibiotic efflux LpeB @@ -2051,7 +2101,7 @@ ARO:3000300 36439 5171 1298 lsaA lsaA AAO43110.1 AY225127.1 lsa-type ABC-F prote ARO:3003111 39687 5173 1161 lsaB lsaB CAE18141.1 AJ579365.1 lsa-type ABC-F protein lincosamide antibiotic;pleuromutilin antibiotic;streptogramin antibiotic antibiotic target protection lsaB ARO:3003112 39688 76 1748 lsaC lsaC AEA37904.1 HM990671.1 lsa-type ABC-F protein lincosamide antibiotic;pleuromutilin antibiotic;streptogramin antibiotic antibiotic target protection lsaC ARO:3005121 43337 6160 3847 lsaD lsaD AXF35727.1 MH473150.1 lsa-type ABC-F protein lincosamide antibiotic;pleuromutilin antibiotic;streptogramin A antibiotic;streptogramin antibiotic antibiotic target protection lsaD -ARO:3003206 39790 5177 264 lsaE lsaE AAL05554.1 AF408195.1 lsa-type ABC-F protein lincosamide antibiotic;pleuromutilin antibiotic;streptogramin antibiotic antibiotic target protection lsaE +ARO:3003206 39790 8600 264 lsaE lsaE AAL05553.1 AF408195.1 lsa-type ABC-F protein lincosamide antibiotic;pleuromutilin antibiotic;streptogramin antibiotic antibiotic target protection lsaE ARO:3006942 45404 7128 4753 LUS-1 LUS-1 WP_041881964.1 NG_055472.1 LUS beta-lactamase carbapenem;cephalosporin antibiotic inactivation LUS-1 ARO:3006943 45405 7129 4754 LUT-1 LUT-1 WP_010798607.1 NG_049284.1 LUT beta-lactamase cephalosporin antibiotic inactivation LUT-1 ARO:3006944 45406 7130 4755 LUT-2 LUT-2 WP_063860828.1 NG_049285.1 LUT beta-lactamase cephalosporin antibiotic inactivation LUT-2 @@ -2067,14 +2117,38 @@ ARO:3006950 45412 7136 4761 MAL-2 MAL-2 WP_063860834.1 NG_049291.1 MAL beta-lact ARO:3000263 36402 5219 1922 marA marA BAA15221.2 AP009048.1 General Bacterial Porin with reduced permeability to beta-lactams;resistance-nodulation-cell division (RND) antibiotic efflux pump carbapenem;cephalosporin;cephamycin;disinfecting agents and antiseptics;fluoroquinolone antibiotic;glycylcycline;monobactam;penam;penem;phenicol antibiotic;rifamycin antibiotic;tetracycline antibiotic antibiotic efflux;reduced permeability to antibiotic marA ARO:3006951 45413 8101 4762 MBL1b MBL1b WP_063860835.1 NG_049292.1 MBL beta-lactamase carbapenem antibiotic inactivation MBL1b ARO:3007137 45718 8479 5798 mcr-10.1 mcr-10.1 QDO66747.1 MN179494.1 MCR phosphoethanolamine transferase peptide antibiotic antibiotic target alteration mcr-10.1 +ARO:3007277 46023 8612 5882 MCR-10.2 MCR-10.2 MBO4154571.1 JAGFWW010000009.1 MCR phosphoethanolamine transferase peptide antibiotic antibiotic target alteration MCR-10.2 +ARO:3007275 46021 8610 5880 MCR-10.3 MCR-10.3 MBO4158890.1 JAGFWV010000051.1 MCR phosphoethanolamine transferase peptide antibiotic antibiotic target alteration MCR-10.3 +ARO:3007276 46022 8609 5881 MCR-10.4 MCR-10.4 MBO4150342.1 JAGFWU010000059.1 MCR phosphoethanolamine transferase peptide antibiotic antibiotic target alteration MCR-10.4 +ARO:3007274 46020 8605 5879 MCR-10.5 MCR-10.5 WP_242934127.1 OM638112.1 MCR phosphoethanolamine transferase peptide antibiotic antibiotic target alteration MCR-10.5 ARO:3003689 40335 3390 2203 MCR-1.1 MCR-1.1 AKF16168.1 KP347127.1 MCR phosphoethanolamine transferase peptide antibiotic antibiotic target alteration MCR-1.1 ARO:3004506 42214 5335 3134 MCR-1.10 MCR-1.10 ASK49940.1 MF176238.1 MCR phosphoethanolamine transferase peptide antibiotic antibiotic target alteration MCR-1.10 ARO:3004688 42740 5573 3387 MCR-1.11 MCR-1.11 ATM29809.1 KY853650.2 MCR phosphoethanolamine transferase peptide antibiotic antibiotic target alteration MCR-1.11 ARO:3004689 42741 5574 3388 MCR-1.12 MCR-1.12 BBB21811.1 LC337668.1 MCR phosphoethanolamine transferase peptide antibiotic antibiotic target alteration MCR-1.12 ARO:3004690 42742 5575 3389 MCR-1.13 MCR-1.13 AVM85874.1 MG384739.1 MCR phosphoethanolamine transferase peptide antibiotic antibiotic target alteration MCR-1.13 +ARO:3007246 45992 8545 5851 MCR-1.14 MCR-1.14 WP_109545052.1 KX443408.2 MCR phosphoethanolamine transferase peptide antibiotic antibiotic target alteration MCR-1.14 +ARO:3007279 46025 8578 5884 MCR-1.15 MCR-1.15 WP_116786830.1 MG763897.1 MCR phosphoethanolamine transferase peptide antibiotic antibiotic target alteration MCR-1.15 +ARO:3007238 45984 8537 5843 MCR-1.16 MCR-1.16 WP_136512110.1 MK568462.1 MCR phosphoethanolamine transferase peptide antibiotic antibiotic target alteration MCR-1.16 +ARO:3007244 45990 8543 5849 MCR-1.17 MCR-1.17 WP_136512111.1 MK568463.1 MCR phosphoethanolamine transferase peptide antibiotic antibiotic target alteration MCR-1.17 +ARO:3007233 45979 8532 5838 MCR-1.18 MCR-1.18 WP_106743337.1 PGLM01000025.1 MCR phosphoethanolamine transferase peptide antibiotic antibiotic target alteration MCR-1.18 +ARO:3007240 45986 8539 5845 MCR-1.19 MCR-1.19 WP_129336087.1 MK490674.1 MCR phosphoethanolamine transferase peptide antibiotic antibiotic target alteration MCR-1.19 ARO:3004194 41358 4479 2838 MCR-1.2 MCR-1.2 ANR95875.1 KX236309.1 MCR phosphoethanolamine transferase peptide antibiotic antibiotic target alteration MCR-1.2 +ARO:3007235 45981 8534 5840 MCR-1.20 MCR-1.20 WP_140423329.1 LS398440.1 MCR phosphoethanolamine transferase peptide antibiotic antibiotic target alteration MCR-1.20 +ARO:3007237 45983 8536 5842 MCR-1.21 MCR-1.21 WP_140423330.1 MK965883.1 MCR phosphoethanolamine transferase peptide antibiotic antibiotic target alteration MCR-1.21 +ARO:3007239 45985 8538 5844 MCR-1.22 MCR-1.22 WP_148044477.1 MN017134.1 MCR phosphoethanolamine transferase peptide antibiotic antibiotic target alteration MCR-1.22 +ARO:3007234 45980 8533 5839 MCR-1.23 MCR-1.23 WP_160164897.1 MN873697.1 MCR phosphoethanolamine transferase peptide antibiotic antibiotic target alteration MCR-1.23 +ARO:3007243 45989 8542 5848 MCR-1.24 MCR-1.24 WP_160164898.1 MN879257.1 MCR phosphoethanolamine transferase peptide antibiotic antibiotic target alteration MCR-1.24 +ARO:3007247 45993 8546 5852 MCR-1.25 MCR-1.25 WP_160164899.1 MN879259.1 MCR phosphoethanolamine transferase peptide antibiotic antibiotic target alteration MCR-1.25 +ARO:3007280 46026 8579 5885 MCR-1.26 MCR-1.26 WP_034169413.1 JAAGSA010000042.1 MCR phosphoethanolamine transferase peptide antibiotic antibiotic target alteration MCR-1.26 +ARO:3007232 45978 8604 5837 MCR-1.27 MCR-1.27 WP_163397051.1 JAAGSB010000042.1 MCR phosphoethanolamine transferase peptide antibiotic antibiotic target alteration MCR-1.27 +ARO:3007236 45982 8535 5841 MCR-1.28 MCR-1.28 WP_181464119.1 MT770924.1 MCR phosphoethanolamine transferase peptide antibiotic antibiotic target alteration MCR-1.28 +ARO:3007241 45987 8540 5846 MCR-1.29 MCR-1.29 WP_188331884.1 MT731964.1 MCR phosphoethanolamine transferase peptide antibiotic antibiotic target alteration MCR-1.29 ARO:3004514 42223 5324 3142 MCR-1.3 MCR-1.3 ANJ15621.1 KU934208.1 MCR phosphoethanolamine transferase peptide antibiotic antibiotic target alteration MCR-1.3 +ARO:3007242 45988 8541 5847 MCR-1.30 MCR-1.30 WP_188331885.1 MT731965.1 MCR phosphoethanolamine transferase peptide antibiotic antibiotic target alteration MCR-1.30 +ARO:3007245 45991 8544 5850 MCR-1.31 MCR-1.31 WP_213994614.1 MW940640.1 MCR phosphoethanolamine transferase peptide antibiotic antibiotic target alteration MCR-1.31 +ARO:3007289 46035 8588 5894 MCR-1.32 MCR-1.32 WP_213994615.1 MF084991.1 MCR phosphoethanolamine transferase peptide antibiotic antibiotic target alteration MCR-1.32 ARO:3007070 45632 8433 5766 MCR-1.33 MCR-1.33 UGY30527.1 OL624718.1 MCR phosphoethanolamine transferase peptide antibiotic antibiotic target alteration MCR-1.33 +ARO:3007230 45976 8529 5835 MCR-1.34 MCR-1.34 WP_231236808.1 MZ450868.1 MCR phosphoethanolamine transferase peptide antibiotic antibiotic target alteration MCR-1.34 ARO:3004515 42224 5323 3143 MCR-1.4 MCR-1.4 APM87143.1 KY041856.1 MCR phosphoethanolamine transferase peptide antibiotic antibiotic target alteration MCR-1.4 ARO:3004685 42737 5570 3384 MCR-1.5 MCR-1.5 APM84488.1 KY283125.1 MCR phosphoethanolamine transferase peptide antibiotic antibiotic target alteration MCR-1.5 ARO:3004513 42222 5326 3141 MCR-1.6 MCR-1.6 AQK48217.1 KY352406.1 MCR phosphoethanolamine transferase peptide antibiotic antibiotic target alteration MCR-1.6 @@ -2083,14 +2157,47 @@ ARO:3004687 42739 5572 3386 MCR-1.8 MCR-1.8 AQY61516.1 KY683842.1 MCR phosphoeth ARO:3004507 42216 5334 3135 MCR-1.9 MCR-1.9 AVA31022.1 KY780959.1 MCR phosphoethanolamine transferase peptide antibiotic antibiotic target alteration MCR-1.9 ARO:3004110 41231 5514 2778 MCR-2.1 MCR-2.1 SBV31106.1 LT598652.1 MCR phosphoethanolamine transferase peptide antibiotic antibiotic target alteration MCR-2.1 ARO:3004502 42208 5339 3130 MCR-2.2 MCR-2.2 ASK49941.1 MF176239.1 MCR phosphoethanolamine transferase peptide antibiotic antibiotic target alteration MCR-2.2 +ARO:3007284 46030 8639 5889 MCR-2.3 MCR-2.3 HCJ5800995.1 DAILHT010000102.1 MCR phosphoethanolamine transferase peptide antibiotic antibiotic target alteration MCR-2.3 +ARO:3007283 46029 8582 5888 MCR-2.4 MCR-2.4 WP_188331886.1 MT757845.1 MCR phosphoethanolamine transferase peptide antibiotic antibiotic target alteration MCR-2.4 +ARO:3007286 46032 8585 5891 MCR-2.5 MCR-2.5 WP_188331887.1 MT757842.1 MCR phosphoethanolamine transferase peptide antibiotic antibiotic target alteration MCR-2.5 +ARO:3007288 46034 8587 5893 MCR-2.6 MCR-2.6 WP_188331888.1 MT757844.1 MCR phosphoethanolamine transferase peptide antibiotic antibiotic target alteration MCR-2.6 +ARO:3007287 46033 8586 5892 MCR-2.7 MCR-2.7 WP_188331889.1 MT757843.1 MCR phosphoethanolamine transferase peptide antibiotic antibiotic target alteration MCR-2.7 +ARO:3007285 46031 8584 5890 MCR-2.8 MCR-2.8 WP_219860731.1 MZ520325.1 MCR phosphoethanolamine transferase peptide antibiotic antibiotic target alteration MCR-2.8 ARO:3004139 41267 4121 2795 MCR-3.1 MCR-3.1 ASF81896.1 KY924928.1 MCR phosphoethanolamine transferase peptide antibiotic antibiotic target alteration MCR-3.1 ARO:3004504 42212 5337 3132 MCR-3.10 MCR-3.10 ATQ63376.1 MG214531.1 MCR phosphoethanolamine transferase peptide antibiotic antibiotic target alteration MCR-3.10 ARO:3004500 42205 5342 3128 MCR-3.11 MCR-3.11 AUN87920.1 MG489958.1 MCR phosphoethanolamine transferase peptide antibiotic antibiotic target alteration MCR-3.11 ARO:3004693 42745 5578 3391 MCR-3.12 MCR-3.12 AVZ47168.1 MG564491.1 MCR phosphoethanolamine transferase peptide antibiotic antibiotic target alteration MCR-3.12 +ARO:3007269 46015 8568 5874 MCR-3.13 MCR-3.13 WP_111273842.1 MH332763.1 MCR phosphoethanolamine transferase peptide antibiotic antibiotic target alteration MCR-3.13 +ARO:3007249 45995 8548 5854 MCR-3.14 MCR-3.14 WP_111273843.1 MH332764.1 MCR phosphoethanolamine transferase peptide antibiotic antibiotic target alteration MCR-3.14 +ARO:3007252 45998 8551 5857 MCR-3.15 MCR-3.15 WP_111273844.1 MH332765.1 MCR phosphoethanolamine transferase peptide antibiotic antibiotic target alteration MCR-3.15 +ARO:3007260 46006 8559 5865 MCR-3.16 MCR-3.16 WP_111273845.1 MH332766.1 MCR phosphoethanolamine transferase peptide antibiotic antibiotic target alteration MCR-3.16 +ARO:3007278 46024 8577 5883 MCR-3.17 MCR-3.17 WP_111273846.1 MH332767.1 MCR phosphoethanolamine transferase peptide antibiotic antibiotic target alteration MCR-3.17 +ARO:3007263 46009 8562 5868 MCR-3.18 MCR-3.18 WP_111273847.1 MH332768.1 MCR phosphoethanolamine transferase peptide antibiotic antibiotic target alteration MCR-3.18 +ARO:3007273 46019 8572 5878 MCR-3.19 MCR-3.19 AWM63467.1 MH043626.1 MCR phosphoethanolamine transferase peptide antibiotic antibiotic target alteration MCR-3.19 ARO:3004511 42220 5328 3139 MCR-3.2 MCR-3.2 OYN70668.1 NMWW01000143.1 MCR phosphoethanolamine transferase peptide antibiotic antibiotic target alteration MCR-3.2 +ARO:3007266 46012 8565 5871 MCR-3.20 MCR-3.20 BCG06510.1 LC549806.1 MCR phosphoethanolamine transferase peptide antibiotic antibiotic target alteration MCR-3.20 +ARO:3007262 46008 8561 5867 MCR-3.21 MCR-3.21 AWY10763.1 MH423812.1 MCR phosphoethanolamine transferase peptide antibiotic antibiotic target alteration MCR-3.21 +ARO:3007259 46005 8558 5864 MCR-3.22 MCR-3.22 WP_094308975.1 NQCT02000005.1 MCR phosphoethanolamine transferase peptide antibiotic antibiotic target alteration MCR-3.22 +ARO:3007256 46002 8555 5861 MCR-3.23 MCR-3.23 WP_094313523.1 NQCZ01000032.1 MCR phosphoethanolamine transferase peptide antibiotic antibiotic target alteration MCR-3.23 +ARO:3007265 46011 8564 5870 MCR-3.24 MCR-3.24 WP_094321595.1 NQCB01000188.1 MCR phosphoethanolamine transferase peptide antibiotic antibiotic target alteration MCR-3.24 +ARO:3007258 46004 8557 5863 MCR-3.25 MCR-3.25 WP_103252528.1 PPTE01000085.1 MCR phosphoethanolamine transferase peptide antibiotic antibiotic target alteration MCR-3.25 +ARO:3007261 46007 8560 5866 MCR-3.26 MCR-3.26 WP_140423331.1 MH371139.1 MCR phosphoethanolamine transferase peptide antibiotic antibiotic target alteration MCR-3.26 +ARO:3007253 45999 8552 5858 MCR-3.27 MCR-3.27 WP_017778762.1 MH131694.1 MCR phosphoethanolamine transferase peptide antibiotic antibiotic target alteration MCR-3.27 +ARO:3007270 46016 8569 5875 MCR-3.28 MCR-3.28 WP_150823496.1 MH522717.1 MCR phosphoethanolamine transferase peptide antibiotic antibiotic target alteration MCR-3.28 +ARO:3007272 46018 8571 5877 MCR-3.29 MCR-3.29 WP_136512112.1 MK521074.1 MCR phosphoethanolamine transferase peptide antibiotic antibiotic target alteration MCR-3.29 ARO:3004662 42705 5546 3363 MCR-3.3 MCR-3.3 ASU10319.1 MF495680.1 MCR phosphoethanolamine transferase peptide antibiotic antibiotic target alteration MCR-3.3 +ARO:3007255 46001 8554 5860 MCR-3.31 MCR-3.31 WP_188331890.1 MT757846.1 MCR phosphoethanolamine transferase peptide antibiotic antibiotic target alteration MCR-3.31 +ARO:3007254 46000 8553 5859 MCR-3.32 MCR-3.32 WP_188331891.1 MT757847.1 MCR phosphoethanolamine transferase peptide antibiotic antibiotic target alteration MCR-3.32 +ARO:3007248 45994 8547 5853 MCR-3.33 MCR-3.33 WP_188331892.1 MT791039.1 MCR phosphoethanolamine transferase peptide antibiotic antibiotic target alteration MCR-3.33 +ARO:3007268 46014 8567 5873 MCR-3.34 MCR-3.34 WP_188331893.1 MT791040.1 MCR phosphoethanolamine transferase peptide antibiotic antibiotic target alteration MCR-3.34 +ARO:3007267 46013 8566 5872 MCR-3.35 MCR-3.35 WP_188331894.1 MT809044.1 MCR phosphoethanolamine transferase peptide antibiotic antibiotic target alteration MCR-3.35 +ARO:3007257 46003 8556 5862 MCR-3.36 MCR-3.36 WP_188331895.1 MT809045.1 MCR phosphoethanolamine transferase peptide antibiotic antibiotic target alteration MCR-3.36 +ARO:3007250 45996 8549 5855 MCR-3.37 MCR-3.37 WP_188331896.1 MT809047.1 MCR phosphoethanolamine transferase peptide antibiotic antibiotic target alteration MCR-3.37 +ARO:3007251 45997 8550 5856 MCR-3.38 MCR-3.38 WP_039039919.1 MT787344.1 MCR phosphoethanolamine transferase peptide antibiotic antibiotic target alteration MCR-3.38 +ARO:3007271 46017 8570 5876 MCR-3.39 MCR-3.39 UUD58346.1 CP075741.1 MCR phosphoethanolamine transferase peptide antibiotic antibiotic target alteration MCR-3.39 ARO:3004691 42743 5576 3390 MCR-3.4 MCR-3.4 SBZ31568.1 FLXA01000011.1 MCR phosphoethanolamine transferase peptide antibiotic antibiotic target alteration MCR-3.4 -ARO:3005221 43577 6306 3943 mcr-3.41 mcr-3.41 MBA2799562.1 JACEGL010000001.1 MCR phosphoethanolamine transferase peptide antibiotic antibiotic target alteration mcr-3.41 +ARO:3007264 46010 8563 5869 MCR-3.40 MCR-3.40 WP_188331897.1 MT872722.1 MCR phosphoethanolamine transferase peptide antibiotic antibiotic target alteration MCR-3.40 +ARO:3005221 43577 6306 3943 MCR-3.41 MCR-3.41 MBA2799562.1 JACEGL010000001.1 MCR phosphoethanolamine transferase peptide antibiotic antibiotic target alteration MCR-3.41 ARO:3004505 42213 5577 3133 MCR-3.5 MCR-3.5 ASU04896.1 MF489760.1 MCR phosphoethanolamine transferase peptide antibiotic antibiotic target alteration MCR-3.5 ARO:3004503 42210 5338 3131 MCR-3.6 MCR-3.6 AST36140.1 MF598076.1 MCR phosphoethanolamine transferase peptide antibiotic antibiotic target alteration MCR-3.6 ARO:3004510 42219 5329 3138 MCR-3.7 MCR-3.7 AST36141.1 MF598077.1 MCR phosphoethanolamine transferase peptide antibiotic antibiotic target alteration MCR-3.7 @@ -2101,11 +2208,18 @@ ARO:3004694 42746 5579 3392 MCR-4.2 MCR-4.2 AVK94777.1 MG822663.1 MCR phosphoeth ARO:3004695 42747 5580 3393 MCR-4.3 MCR-4.3 AUI38915.1 MG026621.1 MCR phosphoethanolamine transferase peptide antibiotic antibiotic target alteration MCR-4.3 ARO:3004696 42748 5581 3394 MCR-4.4 MCR-4.4 AVK94779.1 MG822665.1 MCR phosphoethanolamine transferase peptide antibiotic antibiotic target alteration MCR-4.4 ARO:3004697 42749 5582 3395 MCR-4.5 MCR-4.5 AVK94778.1 MG822664.1 MCR phosphoethanolamine transferase peptide antibiotic antibiotic target alteration MCR-4.5 +ARO:3007231 45977 8530 5836 MCR-4.6 MCR-4.6 AXI82465.1 MH423812.1 MCR phosphoethanolamine transferase peptide antibiotic antibiotic target alteration MCR-4.6 +ARO:3007533 46304 8694 5971 MCR-4.7 MCR-4.7 WP_223106954.1 NG_088453.1 MCR phosphoethanolamine transferase peptide antibiotic antibiotic target alteration MCR-4.7 ARO:3004332 41500 5583 2849 MCR-5.1 MCR-5.1 ASK40551.1 KY807920.1 MCR phosphoethanolamine transferase peptide antibiotic antibiotic target alteration MCR-5.1 ARO:3004698 42750 5584 3396 MCR-5.2 MCR-5.2 AVM85875.1 MG384740.1 MCR phosphoethanolamine transferase peptide antibiotic antibiotic target alteration MCR-5.2 +ARO:3007282 46028 8614 5887 MCR-5.3 MCR-5.3 AXF93714.1 MH062179.1 MCR phosphoethanolamine transferase peptide antibiotic antibiotic target alteration MCR-5.3 +ARO:3007281 46027 8613 5886 MCR-5.4 MCR-5.4 QCT85452.1 MK965519.1 MCR phosphoethanolamine transferase peptide antibiotic antibiotic target alteration MCR-5.4 ARO:3004501 42206 5341 3129 MCR-6.1 MCR-6.1 ASK49942.1 MF176240.1 MCR phosphoethanolamine transferase peptide antibiotic antibiotic target alteration MCR-6.1 ARO:3004517 42226 5003 3145 MCR-7.1 MCR-7.1 AUR80098.1 MG267386.1 MCR phosphoethanolamine transferase peptide antibiotic antibiotic target alteration MCR-7.1 ARO:3004516 42225 5002 3144 MCR-8.1 MCR-8.1 AVX52225.1 MG736312.1 MCR phosphoethanolamine transferase peptide antibiotic antibiotic target alteration MCR-8.1 +ARO:3007229 45975 8603 5834 MCR-8.2 MCR-8.2 QIF88262.1 CP047337.1 MCR phosphoethanolamine transferase peptide antibiotic antibiotic target alteration MCR-8.2 +ARO:3007227 45973 8526 5832 MCR-8.3 MCR-8.3 WP_150823497.1 MH598530.1 MCR phosphoethanolamine transferase peptide antibiotic antibiotic target alteration MCR-8.3 +ARO:3007228 45974 8527 5833 MCR-8.4 MCR-8.4 WP_118860654.1 MH791448.1 MCR phosphoethanolamine transferase peptide antibiotic antibiotic target alteration MCR-8.4 ARO:3004684 42734 5569 3383 MCR-9.1 MCR-9.1 WP_001572373.1 NC_021819.1 MCR phosphoethanolamine transferase peptide antibiotic antibiotic target alteration MCR-9.1 ARO:3007011 45479 8123 5727 mdeA mdeA WP_002289367.1 NZ_CP044221.1 major facilitator superfamily (MFS) antibiotic efflux pump aminoglycoside antibiotic;disinfecting agents and antiseptics;fluoroquinolone antibiotic;penam;tetracycline antibiotic antibiotic efflux mdeA ARO:3000789 37169 5279 429 mdsA mdsA AAL19306.1 AE006468.2 resistance-nodulation-cell division (RND) antibiotic efflux pump carbapenem;cephalosporin;cephamycin;monobactam;penam;penem;phenicol antibiotic antibiotic efflux mdsA @@ -2123,6 +2237,7 @@ ARO:3001214 37613 4730 1191 mdtM mdtM AAC77293.1 U00096.3 major facilitator supe ARO:3003548 40150 4705 1442 mdtN mdtN BAE78084.1 AP009048.1 major facilitator superfamily (MFS) antibiotic efflux pump disinfecting agents and antiseptics;nucleoside antibiotic antibiotic efflux mdtN ARO:3003549 40151 4664 2056 mdtO mdtO BAE78083.1 AP009048.1 major facilitator superfamily (MFS) antibiotic efflux pump disinfecting agents and antiseptics;nucleoside antibiotic antibiotic efflux mdtO ARO:3003550 40152 4454 45 mdtP mdtP BAE78082.1 AP009048.1 major facilitator superfamily (MFS) antibiotic efflux pump disinfecting agents and antiseptics;nucleoside antibiotic antibiotic efflux mdtP +ARO:3007682 46464 8739 6011 Mdtq Mdtq WMY66391.1 CP133868.1 Outer Membrane Porin (Opr) carbapenem;cephalosporin;cephamycin;monobactam;penam;penem reduced permeability to antibiotic Mdtq ARO:3000617 36911 227 1321 mecA mecA AGC51118.1 KC243783.1 methicillin resistant PBP2 carbapenem;cephalosporin;cephamycin;monobactam;penam antibiotic target replacement mecA ARO:3003440 40024 3282 1595 mecB mecB BAI83385.1 AB498758.1 methicillin resistant PBP2 carbapenem;cephalosporin;cephamycin;monobactam;penam antibiotic target replacement mecB ARO:3001209 37590 5248 810 mecC mecC CCC86795.1 FR821779.1 methicillin resistant PBP2 carbapenem;cephalosporin;cephamycin;monobactam;penam antibiotic target replacement mecC @@ -2132,13 +2247,13 @@ ARO:3004185 41338 4173 2828 mecD mecD AQX82857.1 KY013611.1 methicillin resistan ARO:3000124 36263 4247 948 mecI mecI BAB41258.1 BA000018.3 methicillin resistant PBP2 carbapenem;cephalosporin;cephamycin;monobactam;penam antibiotic target replacement mecI ARO:3000215 36354 5486 645 mecR1 mecR1 ABQ47844.1 CP000703.1 methicillin resistant PBP2 carbapenem;cephalosporin;cephamycin;monobactam;penam antibiotic target replacement mecR1 ARO:3003107 39681 4728 1198 mef(B) mef(B) ACJ63262.1 FJ196385.1 major facilitator superfamily (MFS) antibiotic efflux pump macrolide antibiotic antibiotic efflux mef(B) -ARO:3003745 40401 4640 2262 mefC mefC BAL43360.1 AB571865.1 major facilitator superfamily (MFS) antibiotic efflux pump macrolide antibiotic antibiotic efflux mefC +ARO:3003745 40401 4640 2262 mef(C) mef(C) BAL43360.1 AB571865.1 major facilitator superfamily (MFS) antibiotic efflux pump macrolide antibiotic;tetracycline antibiotic antibiotic efflux mef(C) ARO:3005089 43301 6123 3823 mef(D) mef(D) QHW12307.1 MN728681.1 major facilitator superfamily (MFS) antibiotic efflux pump macrolide antibiotic antibiotic efflux mef(D) -ARO:3000614 36908 5490 1401 mefE mefE AAK99775.1 AE007317.1 major facilitator superfamily (MFS) antibiotic efflux pump macrolide antibiotic antibiotic efflux mefE -ARO:3004659 42698 5539 3359 Mef(En2) Mef(En2) AAF74725.1 AF251288.1 major facilitator superfamily (MFS) antibiotic efflux pump macrolide antibiotic antibiotic efflux Mef(En2) -ARO:3007044 45603 8299 5745 mefF mefF QNR09091.1 CP046364.1 major facilitator superfamily (MFS) antibiotic efflux pump macrolide antibiotic antibiotic efflux mefF -ARO:3007047 45606 8301 5747 mefH mefH QQM99829.1 MW269960.1 major facilitator superfamily (MFS) antibiotic efflux pump macrolide antibiotic antibiotic efflux mefH -ARO:3007049 45608 8302 5748 mefJ mefJ QQA64076.1 CP065927.1 major facilitator superfamily (MFS) antibiotic efflux pump macrolide antibiotic antibiotic efflux mefJ +ARO:3000614 36908 5490 1401 mef(E) mef(E) AAK99775.1 AE007317.1 major facilitator superfamily (MFS) antibiotic efflux pump macrolide antibiotic antibiotic efflux mef(E) +ARO:3004659 42698 5539 3359 Mef(En2) Mef(En2) AAF74725.1 AF251288.1 major facilitator superfamily (MFS) antibiotic efflux pump lincosamide antibiotic;macrolide antibiotic antibiotic efflux Mef(En2) +ARO:3007044 45603 8299 5745 mef(F) mef(F) QNR09091.1 CP046364.1 major facilitator superfamily (MFS) antibiotic efflux pump macrolide antibiotic antibiotic efflux mef(F) +ARO:3007047 45606 8301 5747 mef(H) mef(H) QQM99829.1 MW269960.1 major facilitator superfamily (MFS) antibiotic efflux pump macrolide antibiotic antibiotic efflux mef(H) +ARO:3007049 45608 8302 5748 mef(J) mef(J) QQA64076.1 CP065927.1 major facilitator superfamily (MFS) antibiotic efflux pump macrolide antibiotic antibiotic efflux mef(J) ARO:3000616 36910 5180 1231 mel mel AAL73129.1 AF227521.1 msr-type ABC-F protein macrolide antibiotic;streptogramin antibiotic antibiotic target protection mel ARO:3000026 36035 3623 377 mepA mepA AAU95768.1 AY661734.1 multidrug and toxic compound extrusion (MATE) transporter glycylcycline;tetracycline antibiotic antibiotic efflux mepA ARO:3000746 37126 5491 856 mepR mepR BAB56495.1 BA000017.4 multidrug and toxic compound extrusion (MATE) transporter glycylcycline;tetracycline antibiotic antibiotic efflux mepR @@ -2170,7 +2285,7 @@ ARO:3003709 40363 5526 2223 MexZ MexZ AAG05408.1 AE004091.2 resistance-nodulatio ARO:3003844 40538 4599 2332 mfd mfd NP_415632.1 NC_000913.3 quinolone resistance protein (qnr) fluoroquinolone antibiotic antibiotic target protection mfd ARO:3003035 39469 4588 801 mfpA mfpA CCP46182.1 AL123456.1 quinolone resistance protein (qnr) fluoroquinolone antibiotic antibiotic target protection mfpA ARO:3000815 37195 5404 154 mgrA mgrA BAB41874.1 BA000018.3 ATP-binding cassette (ABC) antibiotic efflux pump;major facilitator superfamily (MFS) antibiotic efflux pump cephalosporin;disinfecting agents and antiseptics;fluoroquinolone antibiotic;penam;peptide antibiotic;tetracycline antibiotic antibiotic efflux mgrA -ARO:3003820 40510 5880 2317 mgrB mgrB NP_416340.1 NC_000913.3 N/A N/A resistance by absence mgrB +ARO:3003820 40510 5880 2317 mgrB mgrB NP_416340.1 NC_000913.3 transmembrane protein conferring colistin resistance peptide antibiotic resistance by absence mgrB ARO:3000462 36601 8170 515 mgtA mgtA ABA28305.2 DQ185434.2 mgt macrolide glycotransferase macrolide antibiotic antibiotic inactivation mgtA ARO:3002166 38566 8186 1702 MIR-1 MIR-1 AAD22636.1 M37839.2 MIR beta-lactamase cephalosporin;monobactam antibiotic inactivation MIR-1 ARO:3002175 38575 1102 1888 MIR-10 MIR-10 AIT76111.1 KM087858.1 MIR beta-lactamase cephalosporin;monobactam antibiotic inactivation MIR-10 @@ -2194,8 +2309,8 @@ ARO:3002170 38570 1978 576 MIR-5 MIR-5 AJO16037.1 KP050484.1 MIR beta-lactamase ARO:3002171 38571 764 1136 MIR-6 MIR-6 AFJ79785.1 JQ664733.1 MIR beta-lactamase cephalosporin;monobactam antibiotic inactivation MIR-6 ARO:3002172 38572 8108 4768 MIR-7 MIR-7 WP_045409557.1 NG_049308.1 MIR beta-lactamase cephalosporin;monobactam antibiotic inactivation MIR-7 ARO:3002174 38574 875 1164 MIR-9 MIR-9 AIT76113.1 KM087860.1 MIR beta-lactamase cephalosporin;monobactam antibiotic inactivation MIR-9 -ARO:3005042 43240 6078 3785 mlaD mlaD VWQ04090.1 LR730402.1 ATP-binding cassette (ABC) antibiotic efflux pump oxazolidinone antibiotic antibiotic efflux mlaD -ARO:3005041 43239 6077 3784 mlaF mlaF VWQ04088.1 LR730402.1 ATP-binding cassette (ABC) antibiotic efflux pump oxazolidinone antibiotic antibiotic efflux mlaF +ARO:3005042 43240 6078 3785 mlaD mlaD VWQ04090.1 LR730402.1 ATP-binding cassette (ABC) antibiotic efflux pump glycopeptide antibiotic;oxazolidinone antibiotic antibiotic efflux mlaD +ARO:3005041 43239 6077 3784 mlaF mlaF VWQ04088.1 LR730402.1 ATP-binding cassette (ABC) antibiotic efflux pump glycopeptide antibiotic;oxazolidinone antibiotic antibiotic efflux mlaF ARO:3006952 45414 8109 4769 MOC-1 MOC-1 WP_060874262.1 NG_051495.1 MOC beta-lactamase carbapenem antibiotic inactivation MOC-1 ARO:3006953 45415 8110 4770 MOR-2 MOR-2 WP_063860842.1 NG_049310.1 MOR beta-lactamase cephalosporin antibiotic inactivation MOR-2 ARO:3004138 41265 5678 2792 Moraxella catarrhalis 23S rRNA with mutation conferring resistance to macrolide antibiotics Moraxella catarrhalis 23S rRNA with mutation conferring resistance to macrolide antibiotics CP002005.1 23S rRNA with mutation conferring resistance to macrolide antibiotics glycopeptide antibiotic;lincosamide antibiotic;macrolide antibiotic;phenicol antibiotic;pleuromutilin antibiotic;streptogramin A antibiotic;streptogramin B antibiotic;streptogramin antibiotic antibiotic target alteration Mcat_23S_MAC @@ -2230,6 +2345,7 @@ ARO:3003767 40436 5319 2277 mphM mphM AMR06225.1 CP014284.1 macrolide phosphotra ARO:3004542 42414 5318 3218 mphN mphN AHE40505.1 KF648874.1 macrolide phosphotransferase (MPH) macrolide antibiotic antibiotic inactivation mphN ARO:3004543 42415 5085 3219 mphO mphO WP_050815728.1 NZ_AGSO01000004.1 macrolide phosphotransferase (MPH) macrolide antibiotic antibiotic inactivation mphO ARO:3007050 45609 8303 5749 mreA mreA AAB64408.1 U92073.1 major facilitator superfamily (MFS) antibiotic efflux pump macrolide antibiotic antibiotic efflux mreA +ARO:3003839 40531 8632 5917 Mrx Mrx AAS13767.1 AY522923.1 macrolide phosphotransferase (MPH) macrolide antibiotic antibiotic inactivation Mrx ARO:3003950 40720 5468 2423 msbA msbA AAC74000.1 U00096.3 ATP-binding cassette (ABC) antibiotic efflux pump nitroimidazole antibiotic antibiotic efflux msbA ARO:3003718 40372 3433 2233 MSI-1 MSI-1 AJP77057.1 KP109676.1 MSI beta-lactamase carbapenem antibiotic inactivation MSI-1 ARO:3003719 40373 3434 2234 MSI-OXA MSI-OXA AJP77058.1 KP109676.1 MSI-OXA family beta-lactamase carbapenem antibiotic inactivation MSI-OXA @@ -2240,19 +2356,21 @@ ARO:3003109 39685 5181 33 msrE msrE ACB05808.1 EU294228.1 msr-type ABC-F protein ARO:3005087 43298 6121 3821 msrF msrF QHW12375.1 MN728682.1 msr-type ABC-F protein macrolide antibiotic;streptogramin antibiotic antibiotic target protection msrF ARO:3007042 45601 8297 5743 msr(G) msr(G) QNR09092.1 CP046364.1 msr-type ABC-F protein macrolide antibiotic;streptogramin antibiotic antibiotic target protection msr(G) ARO:3005088 43300 6122 3822 msrH msrH DAC81085.1 BK011995.1 msr-type ABC-F protein macrolide antibiotic;streptogramin antibiotic antibiotic target protection msrH -ARO:3007043 45602 8298 5744 msr(I) msr(I) QQA64075.1 CP065927.1 msr-type ABC-F protein macrolide antibiotic;streptogramin antibiotic antibiotic target protection msr(I) -ARO:3000816 37196 4690 1559 mtrA mtrA CCP46065.1 AL123456.3 resistance-nodulation-cell division (RND) antibiotic efflux pump macrolide antibiotic;penam antibiotic efflux mtrA +ARO:3007043 45602 8298 5744 msr(I) msr(I) QQA64075.1 CP065927.1 msr-type ABC-F protein macrolide antibiotic;phosphonic acid antibiotic;streptogramin antibiotic antibiotic target protection msr(I) +ARO:3000816 37196 8649 1559 mtrA mtrA AAD44693.1 AF128627.1 resistance-nodulation-cell division (RND) antibiotic efflux pump macrolide antibiotic;penam antibiotic efflux mtrA ARO:3000810 37190 5879 1340 mtrC mtrC AAF42063.1 AE002098.2 resistance-nodulation-cell division (RND) antibiotic efflux pump macrolide antibiotic;penam antibiotic efflux mtrC ARO:3000811 37191 5285 1938 mtrD mtrD AAF42062.1 AE002098.2 resistance-nodulation-cell division (RND) antibiotic efflux pump macrolide antibiotic;penam antibiotic efflux mtrD ARO:3000812 37192 400 453 mtrE mtrE CAA64891.1 X95635.1 resistance-nodulation-cell division (RND) antibiotic efflux pump macrolide antibiotic;penam antibiotic efflux mtrE ARO:3000817 37197 4254 2033 mtrR mtrR ACF30254.1 CP001050.1 major facilitator superfamily (MFS) antibiotic efflux pump;resistance-nodulation-cell division (RND) antibiotic efflux pump antibacterial free fatty acids;macrolide antibiotic;penam antibiotic efflux mtrR -ARO:3000843 37223 1597 1552 MUS-1 MUS-1 AAN63647.1 AF441286.1 MUS beta-lactamase carbapenem antibiotic inactivation MUS-1 -ARO:3003842 40535 5281 2328 MUS-2 MUS-2 AKN19901.1 KP658209.1 MUS beta-lactamase carbapenem antibiotic inactivation MUS-2 +ARO:3000843 37223 1597 1552 MUS-1 MUS-1 AAN63647.1 AF441286.1 MUS beta-lactamase carbapenem;penam;penem antibiotic inactivation MUS-1 +ARO:3003842 40535 5281 2328 MUS-2 MUS-2 AKN19901.1 KP658209.1 MUS beta-lactamase carbapenem;penam;penem antibiotic inactivation MUS-2 ARO:3004073 41155 5206 2717 MuxA MuxA AAG05916.1 AE004091.2 resistance-nodulation-cell division (RND) antibiotic efflux pump aminocoumarin antibiotic;macrolide antibiotic;monobactam;tetracycline antibiotic antibiotic efflux MuxA ARO:3004074 41156 5204 2718 MuxB MuxB AAG05915.1 AE004091.2 resistance-nodulation-cell division (RND) antibiotic efflux pump aminocoumarin antibiotic;macrolide antibiotic;monobactam;tetracycline antibiotic antibiotic efflux MuxB ARO:3004075 41158 5199 2720 MuxC MuxC AAG05914.1 AE004091.2 resistance-nodulation-cell division (RND) antibiotic efflux pump aminocoumarin antibiotic;macrolide antibiotic;monobactam;tetracycline antibiotic antibiotic efflux MuxC ARO:3004069 41146 4034 2706 MvaT MvaT NP_253005.1 NC_002516.2 resistance-nodulation-cell division (RND) antibiotic efflux pump diaminopyrimidine antibiotic;fluoroquinolone antibiotic;phenicol antibiotic antibiotic efflux MvaT +ARO:3007476 46243 8682 5960 Mycobacterium abscessus atpE with mutation conferring resistance to bedaquiline Mycobacterium abscessus atpE with mutation conferring resistance to bedaquiline ABC24999.1 DQ306899.1 antibiotic resistant ATP synthase diarylquinoline antibiotic antibiotic target alteration Mabs_atpE_BDQ ARO:3004164 41312 4157 2811 Mycobacterium avium 23S rRNA with mutation conferring resistance to clarithromycin Mycobacterium avium 23S rRNA with mutation conferring resistance to clarithromycin NG_041979.1 23S rRNA with mutation conferring resistance to macrolide antibiotics glycopeptide antibiotic;lincosamide antibiotic;macrolide antibiotic;phenicol antibiotic;pleuromutilin antibiotic;streptogramin A antibiotic;streptogramin B antibiotic;streptogramin antibiotic antibiotic target alteration Mavi_23S_CLR +ARO:3007473 46239 8678 5956 Mycobacterium avium gyrA with mutation conferring resistance to Fluoroquinolone Mycobacterium avium gyrA with mutation conferring resistance to Fluoroquinolone ABK64957.1 CP000479.1 fluoroquinolone resistant gyrA fluoroquinolone antibiotic;nybomycin-like antibiotic antibiotic target alteration Mavi_gyrA_FLO ARO:3004167 41316 4159 2814 Mycobacterium intracellulare 23S rRNA with mutation conferring resistance to azithromycin Mycobacterium intracellulare 23S rRNA with mutation conferring resistance to azithromycin NR_076151.1 23S rRNA with mutation conferring resistance to macrolide antibiotics glycopeptide antibiotic;lincosamide antibiotic;macrolide antibiotic;phenicol antibiotic;pleuromutilin antibiotic;streptogramin A antibiotic;streptogramin B antibiotic;streptogramin antibiotic antibiotic target alteration Mint_23S_AZM ARO:3004166 41315 4177 2813 Mycobacterium intracellulare 23S rRNA with mutation conferring resistance to clarithromycin Mycobacterium intracellulare 23S rRNA with mutation conferring resistance to clarithromycin NR_076151.1 23S rRNA with mutation conferring resistance to macrolide antibiotics glycopeptide antibiotic;lincosamide antibiotic;macrolide antibiotic;phenicol antibiotic;pleuromutilin antibiotic;streptogramin A antibiotic;streptogramin B antibiotic;streptogramin antibiotic antibiotic target alteration Mint_23S_CLR ARO:3004168 41318 4178 2815 Mycobacterium kansasii 23S rRNA with mutation conferring resistance to clarithromycin Mycobacterium kansasii 23S rRNA with mutation conferring resistance to clarithromycin NZ_CP019883.1 23S rRNA with mutation conferring resistance to macrolide antibiotics glycopeptide antibiotic;lincosamide antibiotic;macrolide antibiotic;phenicol antibiotic;pleuromutilin antibiotic;streptogramin A antibiotic;streptogramin B antibiotic;streptogramin antibiotic antibiotic target alteration Mkan_23S_CLR @@ -2265,6 +2383,8 @@ ARO:3004853 42989 5921 3651 Mycobacterium tuberculosis 16S rRNA mutation conferr ARO:3003436 40020 3263 2132 Mycobacterium tuberculosis 16S rRNA mutation conferring resistance to kanamycin Mycobacterium tuberculosis 16S rRNA mutation conferring resistance to kanamycin AL123456.3 16s rRNA with mutation conferring resistance to aminoglycoside antibiotics aminoglycoside antibiotic;glycopeptide antibiotic;glycylcycline;nucleoside antibiotic;peptide antibiotic;tetracycline antibiotic antibiotic target alteration Mtub_16S_KAN ARO:3003480 40076 4123 2131 Mycobacterium tuberculosis 16S rRNA mutation conferring resistance to streptomycin Mycobacterium tuberculosis 16S rRNA mutation conferring resistance to streptomycin AL123456.3 16s rRNA with mutation conferring resistance to aminoglycoside antibiotics aminoglycoside antibiotic;glycopeptide antibiotic;glycylcycline;nucleoside antibiotic;peptide antibiotic;tetracycline antibiotic antibiotic target alteration Mtub_16S_STR ARO:3003437 40021 3260 2133 Mycobacterium tuberculosis 16S rRNA mutation conferring resistance to viomycin Mycobacterium tuberculosis 16S rRNA mutation conferring resistance to viomycin AL123456.3 16s rRNA with mutation conferring resistance to peptide antibiotics aminoglycoside antibiotic;glycopeptide antibiotic;glycylcycline;nucleoside antibiotic;peptide antibiotic;tetracycline antibiotic antibiotic target alteration Mtub_16S_VIO +ARO:3007536 46307 8695 5972 Mycobacterium tuberculosis 16S rRNA (rrnS) mutation conferring resistance to amikacin Mycobacterium tuberculosis 16S rRNA (rrnS) mutation conferring resistance to amikacin NC_000962.3 16s rRNA with mutation conferring resistance to aminoglycoside antibiotics aminoglycoside antibiotic;glycopeptide antibiotic;glycylcycline;nucleoside antibiotic;peptide antibiotic;tetracycline antibiotic antibiotic target alteration Mtub_16rrnS_AMK +ARO:3007537 46308 8696 5974 Mycobacterium tuberculosis 16S rRNA (rrnS) mutation conferring resistance to kanamycin Mycobacterium tuberculosis 16S rRNA (rrnS) mutation conferring resistance to kanamycin NC_000962.3 16s rRNA with mutation conferring resistance to aminoglycoside antibiotics aminoglycoside antibiotic;glycopeptide antibiotic;glycylcycline;nucleoside antibiotic;peptide antibiotic;tetracycline antibiotic antibiotic target alteration Mtub_16rrnS_KAN ARO:3004937 43123 6024 3745 Mycobacterium tuberculosis 23S rRNA mutation conferring resistance to capreomycin Mycobacterium tuberculosis 23S rRNA mutation conferring resistance to capreomycin AL123456.3 23s rRNA with mutation conferring resistance to aminoglycoside antibiotics aminoglycoside antibiotic;glycopeptide antibiotic;lincosamide antibiotic;macrolide antibiotic;phenicol antibiotic;pleuromutilin antibiotic;streptogramin A antibiotic;streptogramin B antibiotic;streptogramin antibiotic antibiotic target alteration Mtub_23S_CAP ARO:3004951 43137 6019 3741 Mycobacterium tuberculosis aftA mutations confer resistance to ethambutol Mycobacterium tuberculosis aftA mutations confer resistance to ethambutol CCP46621.1 AL123456.3 ethambutol resistant aftA polyamine antibiotic antibiotic target alteration Mtub_aftA_EMB ARO:3004921 43107 5999 3723 Mycobacterium tuberculosis ahpC mutations confer resistance to isoniazid Mycobacterium tuberculosis ahpC mutations confer resistance to isoniazid CCP45220.1 AL123456.3 Isoniazid resistant ahpC isoniazid-like antibiotic antibiotic target alteration Mtub_ahpC_INH @@ -2272,6 +2392,7 @@ ARO:3004945 43131 6023 3744 Mycobacterium tuberculosis ald mutations confer resi ARO:3004947 43133 6021 3743 Mycobacterium tuberculosis alr with mutation conferring resistance to cycloserine Mycobacterium tuberculosis alr with mutation conferring resistance to cycloserine CCP46245.1 AL123456.3 cycloserine resistant alr cycloserine-like antibiotic antibiotic target alteration Mtub_alr_DCS ARO:3004957 43143 5982 3705 Mycobacterium tuberculosis clpC1 with mutation conferring resistance to pyrazinamide Mycobacterium tuberculosis clpC1 with mutation conferring resistance to pyrazinamide CCP46419.1 AL123456.3 pyrazinamide resistant clpC1 pyrazine antibiotic antibiotic target alteration Mtub_clpC1_PZA ARO:3004941 43127 6020 3742 Mycobacterium tuberculosis ddlA mutations confer resistance to cycloserine Mycobacterium tuberculosis ddlA mutations confer resistance to cycloserine CCP45786.1 AL123456.3 cycloserine resistant ddlA cycloserine-like antibiotic antibiotic target alteration Mtub_ddlA_DCS +ARO:3007661 46441 8721 6000 Mycobacterium tuberculosis ddn mutation conferring resistance to nitroimidazole antibiotics Mycobacterium tuberculosis ddn mutation conferring resistance to nitroimidazole antibiotics NP_218064.1 NC_000962.3 antibiotic resistant Mycobacterium tuberculosis nitroreductase nitroimidazole antibiotic antibiotic target alteration Mtub_ddn_MULT ARO:3004918 43104 5997 3721 Mycobacterium tuberculosis eccB5 conferring resistance to fluoroquinolones Mycobacterium tuberculosis eccB5 conferring resistance to fluoroquinolones CCP44549.1 AL123456.3 fluoroquinolone resistant eccB5 fluoroquinolone antibiotic antibiotic target alteration Mtub_eccB5_FLO ARO:3004919 43105 5998 3722 Mycobacterium tuberculosis eccC5 conferring resistance to fluoroquinolones Mycobacterium tuberculosis eccC5 conferring resistance to fluoroquinolones CCP44550.1 AL123456.3 fluoroquinolone resistant eccC5 fluoroquinolone antibiotic antibiotic target alteration Mtub_eccC5_FLO ARO:3004963 43149 5984 3707 Mycobacterium tuberculosis eis mutations confer resistance to kanamycin Mycobacterium tuberculosis eis mutations confer resistance to kanamycin CCP45207.1 AL123456.3 kanamycin resistant eis aminoglycoside antibiotic antibiotic target alteration Mtub_eis_KAN @@ -2325,6 +2446,7 @@ ARO:3004721 42776 5598 3403 Mycobacterium tuberculosis rpsA mutations conferring ARO:3003395 39979 2087 1197 Mycobacterium tuberculosis rpsL mutations conferring resistance to Streptomycin Mycobacterium tuberculosis rpsL mutations conferring resistance to Streptomycin AAK44936.1 AE000516.1 antibiotic-resistant rpsL aminoglycoside antibiotic antibiotic target alteration Mtub_rpsL_STR ARO:3004981 43168 5992 3716 Mycobacterium tuberculosis Rv0191 mutations confer resistance to pyrazinamide Mycobacterium tuberculosis Rv0191 mutations confer resistance to pyrazinamide CCP42918.1 AL123456.3 pyrazinamide resistant Rv0191 pyrazine antibiotic antibiotic target alteration Mtub_Rv0191_PZA ARO:3004955 43141 6014 3736 Mycobacterium tuberculosis Rv0565c mutation conferring resistance to ethionamide Mycobacterium tuberculosis Rv0565c mutation conferring resistance to ethionamide CCP43303.1 AL123456.3 Ethionamide resistant Rv0565c thioamide antibiotic antibiotic target alteration Mtub_Rv0565_ETO +ARO:3007674 46455 8727 6004 Mycobacterium tuberculosis Rv0678 with mutation conferring resistance to bedaquiline Mycobacterium tuberculosis Rv0678 with mutation conferring resistance to bedaquiline NP_215192.1 NC_000962.3 bedaquiline resistant Rv0678 diarylquinoline antibiotic antibiotic target alteration Mtub_Rv0678_BDQ ARO:3007185 45924 8482 5801 Mycobacterium tuberculosis Rv1258c mutations confer resistance to ethambutol and capreomycin Mycobacterium tuberculosis Rv1258c mutations confer resistance to ethambutol and capreomycin AAK45555.1 AE000516.2 multidrug resistant Rv1258c aminoglycoside antibiotic;isoniazid-like antibiotic;polyamine antibiotic;pyrazine antibiotic antibiotic target alteration Mtub_tap_EMCM ARO:3007186 45925 8483 5802 Mycobacterium tuberculosis Rv1258c mutations confer resistance to pyrazinamide, isoniazid, and streptomycin Mycobacterium tuberculosis Rv1258c mutations confer resistance to pyrazinamide, isoniazid, and streptomycin AAK45555.1 AE000516.2 multidrug resistant Rv1258c aminoglycoside antibiotic;isoniazid-like antibiotic;polyamine antibiotic;pyrazine antibiotic antibiotic target alteration Mtub_tap_MULT ARO:3004971 43157 5986 3710 Mycobacterium tuberculosis Rv1258c mutations confer resistance to streptomycin Mycobacterium tuberculosis Rv1258c mutations confer resistance to streptomycin CCP44014.1 AL123456.3 streptomycin resistant Rv1258c aminoglycoside antibiotic antibiotic target alteration Mtub_tap_STR @@ -2413,11 +2535,15 @@ ARO:3007217 45961 8520 5828 NDM-40 NDM-40 QYZ89893.1 MZ748326.1 NDM beta-lactama ARO:3007218 45962 8521 5829 NDM-41 NDM-41 UAX43328.1 MZ913436.1 NDM beta-lactamase carbapenem;cephalosporin;cephamycin;penam antibiotic inactivation NDM-41 ARO:3007219 45963 8522 5830 NDM-42 NDM-42 UOU25745.1 ON205946.1 NDM beta-lactamase carbapenem;cephalosporin;cephamycin;penam antibiotic inactivation NDM-42 ARO:3007220 45964 8523 5831 NDM-43 NDM-43 UTQ48691.1 ON954084.1 NDM beta-lactamase carbapenem;cephalosporin;cephamycin;penam antibiotic inactivation NDM-43 +ARO:3007443 46204 8657 5935 NDM-44 NDM-44 UVJ50740.1 OP288001.1 NDM beta-lactamase carbapenem;cephalosporin;cephamycin;penam antibiotic inactivation NDM-44 +ARO:3007444 46205 8659 5936 NDM-45 NDM-45 UZC76856.1 OP696898.1 NDM beta-lactamase carbapenem;cephalosporin;cephamycin;penam antibiotic inactivation NDM-45 +ARO:3007445 46206 8660 5938 NDM-46 NDM-46 UZC76857.1 OP696899.1 NDM beta-lactamase carbapenem;cephalosporin;cephamycin;penam antibiotic inactivation NDM-46 +ARO:3007447 46208 8662 5939 NDM-47 NDM-47 UZC76858.1 OP696900.1 NDM beta-lactamase carbapenem;cephalosporin;cephamycin;penam antibiotic inactivation NDM-47 ARO:3000467 36606 1025 1106 NDM-5 NDM-5 AEN03071.1 JN104597.1 NDM beta-lactamase carbapenem;cephalosporin;cephamycin;penam antibiotic inactivation NDM-5 ARO:3002356 38756 1103 8 NDM-6 NDM-6 AEX08599.1 JN967644.1 NDM beta-lactamase carbapenem;cephalosporin;cephamycin;penam antibiotic inactivation NDM-6 ARO:3002357 38757 1183 585 NDM-7 NDM-7 AFQ31613.1 JX262694.1 NDM beta-lactamase carbapenem;cephalosporin;cephamycin;penam antibiotic inactivation NDM-7 ARO:3002358 38758 1270 616 NDM-8 NDM-8 BAM84089.1 AB744718.1 NDM beta-lactamase carbapenem;cephalosporin;cephamycin;penam antibiotic inactivation NDM-8 -ARO:3002359 38759 8233 1168 NDM-9 NDM-9 AGU91756.1 KC999080.2 NDM beta-lactamase carbapenem;cephalosporin;cephamycin;penam antibiotic inactivation NDM-9 +ARO:3002359 38759 8233 1168 NDM-9 NDM-9 AGU91756.1 KC999080.2 CMY beta-lactamase;CTX-M beta-lactamase;IMP beta-lactamase;KPC beta-lactamase;NDM beta-lactamase;OXA beta-lactamase;SHV beta-lactamase;VIM beta-lactamase carbapenem;cephalosporin;cephamycin;monobactam;penam;penem antibiotic inactivation NDM-9 ARO:3003495 40097 4136 2076 Neisseria gonorrhoeae 16S rRNA mutation conferring resistance to spectinomycin Neisseria gonorrhoeae 16S rRNA mutation conferring resistance to spectinomycin CP020418.1 16s rRNA with mutation conferring resistance to aminoglycoside antibiotics aminoglycoside antibiotic;glycopeptide antibiotic;glycylcycline;nucleoside antibiotic;peptide antibiotic;tetracycline antibiotic antibiotic target alteration Ngon_16S_SPT ARO:3004836 42966 5918 3646 Neisseria gonorrhoeae 23S rRNA with mutation conferring resistance to azithromycin Neisseria gonorrhoeae 23S rRNA with mutation conferring resistance to azithromycin NR_103957.1 23S rRNA with mutation conferring resistance to macrolide antibiotics glycopeptide antibiotic;lincosamide antibiotic;macrolide antibiotic;phenicol antibiotic;pleuromutilin antibiotic;streptogramin A antibiotic;streptogramin B antibiotic;streptogramin antibiotic antibiotic target alteration Ngon_23S_AZM ARO:3004873 43059 5974 3701 Neisseria gonorrhoeae folP with mutation conferring resistance to sulfonamides Neisseria gonorrhoeae folP with mutation conferring resistance to sulfonamides KAE9504908.1 WHPL01000002.1 sulfonamide resistant dihydropteroate synthase folP sulfonamide antibiotic;sulfone antibiotic antibiotic target alteration Ngon_folP_SLF @@ -2484,6 +2610,7 @@ ARO:3002443 38843 795 443 OKP-B-10 OKP-B-10 CAJ19619.1 AM051160.1 OKP beta-lacta ARO:3002444 38844 877 1125 OKP-B-11 OKP-B-11 CAJ19620.1 AM051161.1 OKP beta-lactamase cephalosporin;penam antibiotic inactivation OKP-B-11 ARO:3002445 38845 6221 1296 OKP-B-12 OKP-B-12 CAG25831.1 AJ635420.1 OKP beta-lactamase cephalosporin;penam antibiotic inactivation OKP-B-12 ARO:3002446 38846 1041 831 OKP-B-13 OKP-B-13 AAV80715.1 AY825330.1 OKP beta-lactamase cephalosporin;penam antibiotic inactivation OKP-B-13 +ARO:3002447 38847 8737 6009 OKP-B-14 OKP-B-14 ABL75154.1 DQ995288.1 OKP beta-lactamase cephalosporin;penam antibiotic inactivation OKP-B-14 ARO:3006142 44604 7158 4783 OKP-B-16 OKP-B-16 WP_064183695.1 NG_067146.1 OKP beta-lactamase cephalosporin;penam antibiotic inactivation OKP-B-16 ARO:3002450 38850 8271 1662 OKP-B-17 OKP-B-17 CAP12357.2 AM850919.2 OKP beta-lactamase cephalosporin;penam antibiotic inactivation OKP-B-17 ARO:3002451 38851 1201 970 OKP-B-18 OKP-B-18 CAP12358.1 AM850920.1 OKP beta-lactamase cephalosporin;penam antibiotic inactivation OKP-B-18 @@ -2540,7 +2667,10 @@ ARO:3001405 37805 878 1587 OXA-10 OXA-10 AAG45720.1 AF205943.1 OXA beta-lactamas ARO:3001438 37838 8236 947 OXA-100 OXA-100 CAJ77817.2 AM231720.2 OXA beta-lactamase carbapenem;cephalosporin;penam antibiotic inactivation OXA-100 ARO:3001439 37839 1042 1598 OXA-101 OXA-101 CAL85435.1 AM412777.1 OXA beta-lactamase carbapenem;cephalosporin;penam antibiotic inactivation OXA-101 ARO:3001707 38107 5602 3407 OXA-103 OXA-103 ENV88740.1 APQF01000011.1 OXA beta-lactamase carbapenem;cephalosporin;penam antibiotic inactivation OXA-103 +ARO:3007561 46334 8699 5977 OXA-1038 OXA-1038 UBJ91323.1 OK180617.1 OXA beta-lactamase carbapenem;cephalosporin;penam antibiotic inactivation OXA-1038 +ARO:3007562 46335 8700 5978 OXA-1039 OXA-1039 UBJ91324.1 OK180618.1 OXA beta-lactamase carbapenem;cephalosporin;penam antibiotic inactivation OXA-1039 ARO:3001636 38036 1122 942 OXA-104 OXA-104 ABQ52429.1 EF581285.1 OXA beta-lactamase carbapenem;cephalosporin;penam antibiotic inactivation OXA-104 +ARO:3001708 38108 8738 6010 OXA-105 OXA-105 WP_265760908.1 JANRFO010000004.1 OXA beta-lactamase carbapenem;cephalosporin;penam antibiotic inactivation OXA-105 ARO:3001637 38037 1202 475 OXA-106 OXA-106 ABV31686.1 EF650032.1 OXA beta-lactamase carbapenem;cephalosporin;penam antibiotic inactivation OXA-106 ARO:3001638 38038 1289 1804 OXA-107 OXA-107 ABV31687.1 EF650033.1 OXA beta-lactamase carbapenem;cephalosporin;penam antibiotic inactivation OXA-107 ARO:3001639 38039 1367 1398 OXA-108 OXA-108 ABV31688.1 EF650034.1 OXA beta-lactamase carbapenem;cephalosporin;penam antibiotic inactivation OXA-108 @@ -2939,6 +3069,7 @@ ARO:3003635 40245 5735 3540 OXA-478 OXA-478 ALC79293.1 KR182171.1 OXA beta-lacta ARO:3003636 40246 5736 3541 OXA-479 OXA-479 ALC79294.1 KR182172.1 OXA beta-lactamase carbapenem;cephalosporin;penam antibiotic inactivation OXA-479 ARO:3001782 38182 8249 1099 OXA-48 OXA-48 AAP70012.1 AY236073.2 OXA beta-lactamase carbapenem;cephalosporin;penam antibiotic inactivation OXA-48 ARO:3003637 40247 5737 3542 OXA-480 OXA-480 ALL53530.1 KR872296.1 OXA beta-lactamase carbapenem;cephalosporin;penam antibiotic inactivation OXA-480 +ARO:3003638 40248 8734 6006 OXA-481 OXA-481 AKF41838.1 KP264123.1 OXA beta-lactamase carbapenem;cephalosporin;penam antibiotic inactivation OXA-481 ARO:3003639 40249 5738 3543 OXA-482 OXA-482 AKF41839.1 KP264124.1 OXA beta-lactamase carbapenem;cephalosporin;penam antibiotic inactivation OXA-482 ARO:3003640 40250 5739 3544 OXA-483 OXA-483 AKF41840.1 KP264125.1 OXA beta-lactamase carbapenem;cephalosporin;penam antibiotic inactivation OXA-483 ARO:3003641 40251 5740 3545 OXA-484 OXA-484 ALI16502.1 KR401105.1 OXA beta-lactamase carbapenem;cephalosporin;penam antibiotic inactivation OXA-484 @@ -3984,7 +4115,9 @@ ARO:3004666 42709 5551 3366 pexA pexA ADI87853.1 HM537013.1 major facilitator su ARO:3006965 45427 7997 5622 PFM-1 PFM-1 WP_148044470.1 NG_065936.1 PFM beta-lactamase carbapenem antibiotic inactivation PFM-1 ARO:3006966 45428 7998 5623 PFM-2 PFM-2 WP_057012521.1 NG_067160.1 PFM beta-lactamase carbapenem antibiotic inactivation PFM-2 ARO:3006967 45429 7999 5624 PFM-3 PFM-3 WP_156404660.1 NG_067161.1 PFM beta-lactamase carbapenem antibiotic inactivation PFM-3 +ARO:3007021 45492 8131 5734 PFM-4 PFM-4 MBU4627809.1 JACOMR010000005.1 PFM beta-lactamase carbapenem antibiotic inactivation PFM-4 ARO:3003920 40628 4612 2397 pgpB pgpB BAG33043.1 AP009380.1 lipid A phosphatase peptide antibiotic antibiotic target alteration pgpB +ARO:3007374 46122 8595 5901 PJM-1 PJM-1 KAF1723741.1 PDWW01000024.1 PJM beta-lactamase carbapenem;cephalosporin;cephamycin;penam antibiotic inactivation PJM-1 ARO:3006968 45430 8000 5625 PLA-1 PLA-1 WP_032699754.1 NG_049969.1 PLA beta-lactamase carbapenem;cephalosporin antibiotic inactivation PLA-1 ARO:3006969 45431 8001 5626 PLA-2a PLA-2a WP_047664983.1 NG_049970.1 PLA beta-lactamase carbapenem;cephalosporin antibiotic inactivation PLA-2a ARO:3006970 45432 8002 5627 PLA-3 PLA-3 WP_032696109.1 NG_049971.1 PLA beta-lactamase carbapenem;cephalosporin antibiotic inactivation PLA-3 @@ -4004,6 +4137,7 @@ ARO:3004470 41688 4458 2904 poxtA poxtA AVI44920.1 MF095097.1 Miscellaneous ABC- ARO:3002812 39246 285 2058 pp-flo pp-flo BAA07072.1 D37826.1 major facilitator superfamily (MFS) antibiotic efflux pump phenicol antibiotic antibiotic efflux pp-flo ARO:3007085 45648 8440 5769 PRC-1 PRC-1 QTV22830.1 MW854031.1 PRC beta-lactamase cephalosporin;penam antibiotic inactivation PRC-1 ARO:3004161 41308 4155 2808 Propionibacteria 23S rRNA with mutation conferring resistance to macrolide antibiotics Propionibacteria 23S rRNA with mutation conferring resistance to macrolide antibiotics Y10819.1 23S rRNA with mutation conferring resistance to macrolide antibiotics glycopeptide antibiotic;lincosamide antibiotic;macrolide antibiotic;phenicol antibiotic;pleuromutilin antibiotic;streptogramin A antibiotic;streptogramin B antibiotic;streptogramin antibiotic antibiotic target alteration Prop_23S_MAC +ARO:3007491 46259 8683 5961 Pseudomonas aeruginosa ampR with mutation conferring resistance to aztreonam Pseudomonas aeruginosa ampR with mutation conferring resistance to aztreonam P24734.3 AE004091.2 IMP beta-lactamase;PDC beta-lactamase;ampC-type beta-lactamase carbapenem;cephalosporin;cephamycin;monobactam;penam;penem antibiotic inactivation Paer_ampR_ATM ARO:3002678 39112 295 1316 Pseudomonas aeruginosa catB6 Pseudomonas aeruginosa catB6 CAA11473.1 AJ223604.1 chloramphenicol acetyltransferase (CAT) phenicol antibiotic antibiotic inactivation Paer_catB6 ARO:3002679 39113 4740 1042 Pseudomonas aeruginosa catB7 Pseudomonas aeruginosa catB7 NP_249397.1 NC_002516.2 chloramphenicol acetyltransferase (CAT) phenicol antibiotic antibiotic inactivation Paer_catB7 ARO:3004054 41119 4526 2685 Pseudomonas aeruginosa CpxR Pseudomonas aeruginosa CpxR SIP52035.1 LT673656.1 resistance-nodulation-cell division (RND) antibiotic efflux pump aminocoumarin antibiotic;aminoglycoside antibiotic;carbapenem;cephalosporin;cephamycin;diaminopyrimidine antibiotic;fluoroquinolone antibiotic;macrolide antibiotic;monobactam;penam;penem;peptide antibiotic;phenicol antibiotic;sulfonamide antibiotic;tetracycline antibiotic antibiotic efflux Paer_CpxR @@ -4013,11 +4147,13 @@ ARO:3003684 40319 5277 2196 Pseudomonas aeruginosa gyrA conferring resistance to ARO:3003686 40321 5273 2224 Pseudomonas aeruginosa oprD with mutation conferring resistance to imipenem Pseudomonas aeruginosa oprD with mutation conferring resistance to imipenem AAG04347.1 AE004091.2 Outer Membrane Porin (Opr) carbapenem;cephalosporin;cephamycin;monobactam;penam;penem reduced permeability to antibiotic Paer_oprD_IPM ARO:3003685 40320 5275 2198 Pseudomonas aeruginosa parE conferring resistance to fluoroquinolones Pseudomonas aeruginosa parE conferring resistance to fluoroquinolones AAG08352.1 AE004091.2 fluoroquinolone resistant parE fluoroquinolone antibiotic antibiotic target alteration Paer_parE_FLO ARO:3004107 41228 5395 2775 Pseudomonas aeruginosa soxR Pseudomonas aeruginosa soxR AAG05661.1 AE004091.2 ATP-binding cassette (ABC) antibiotic efflux pump;major facilitator superfamily (MFS) antibiotic efflux pump;resistance-nodulation-cell division (RND) antibiotic efflux pump cephalosporin;disinfecting agents and antiseptics;fluoroquinolone antibiotic;glycylcycline;penam;phenicol antibiotic;rifamycin antibiotic;tetracycline antibiotic antibiotic efflux;antibiotic target alteration Paer_soxR -ARO:3003895 40597 5367 1600 Pseudomonas mutant PhoP conferring resistance to colistin Pseudomonas mutant PhoP conferring resistance to colistin AAG04568.1 AE004091.2 ATP-binding cassette (ABC) antibiotic efflux pump;pmr phosphoethanolamine transferase macrolide antibiotic;peptide antibiotic antibiotic efflux;antibiotic target alteration;resistance by absence Paer_PhoP_CST -ARO:3003896 40598 5426 383 Pseudomonas mutant PhoQ conferring resistance to colistin Pseudomonas mutant PhoQ conferring resistance to colistin AAG04569.1 AE004091.2 ATP-binding cassette (ABC) antibiotic efflux pump;pmr phosphoethanolamine transferase macrolide antibiotic;peptide antibiotic antibiotic efflux;antibiotic target alteration;resistance by absence Paer_PhoQ_CST +ARO:3003895 40597 5367 1600 Pseudomonas mutant PhoP conferring resistance to colistin Pseudomonas mutant PhoP conferring resistance to colistin AAG04568.1 AE004091.2 ATP-binding cassette (ABC) antibiotic efflux pump;pmr phosphoethanolamine transferase;transmembrane protein conferring colistin resistance macrolide antibiotic;peptide antibiotic antibiotic efflux;antibiotic target alteration;resistance by absence Paer_PhoP_CST +ARO:3003896 40598 5426 383 Pseudomonas mutant PhoQ conferring resistance to colistin Pseudomonas mutant PhoQ conferring resistance to colistin AAG04569.1 AE004091.2 ATP-binding cassette (ABC) antibiotic efflux pump;pmr phosphoethanolamine transferase;transmembrane protein conferring colistin resistance macrolide antibiotic;peptide antibiotic antibiotic efflux;antibiotic target alteration;resistance by absence Paer_PhoQ_CST ARO:3006976 45438 8008 5633 PST-1 PST-1 WP_043942497.1 NG_057439.1 PST beta-lactamase carbapenem antibiotic inactivation PST-1 ARO:3006977 45439 8009 5634 PST-2 PST-2 WP_150823494.1 NG_066543.1 PST beta-lactamase carbapenem antibiotic inactivation PST-2 ARO:3006978 45440 8010 5635 PSV-1 PSV-1 WP_075226241.1 NG_052626.1 PSV beta-lactamase carbapenem;cephalosporin antibiotic inactivation PSV-1 +ARO:3007648 46424 8707 5986 PSZ-1 PSZ-1 WGF22896.1 OQ725878.1 PSZ beta-lactamase cephalosporin;cephamycin;penam antibiotic inactivation PSZ-1 +ARO:3007659 46437 8710 5989 putative nickel/cobalt transporter putative nickel/cobalt transporter NP_217372.1 NC_000962.3 metal transporters with antibiotic efflux aminoglycoside antibiotic;fluoroquinolone antibiotic;isoniazid-like antibiotic antibiotic efflux Rv2856 ARO:3003688 40325 3389 2201 PvrR PvrR AAM15533.1 AF482691.2 phenotypic variant regulator aminoglycoside antibiotic;penam;tetracycline antibiotic resistance by absence PvrR ARO:3003046 39480 265 372 qacA qacA BAJ09383.1 AB566411.1 major facilitator superfamily (MFS) antibiotic efflux pump fluoroquinolone antibiotic antibiotic efflux qacA ARO:3003047 39481 307 558 qacB qacB AAQ10694.1 AF535087.1 major facilitator superfamily (MFS) antibiotic efflux pump fluoroquinolone antibiotic antibiotic efflux qacB @@ -4038,6 +4174,7 @@ ARO:3002710 39144 553 747 QnrA4 QnrA4 AAZ04783.1 DQ058662.1 quinolone resistance ARO:3002711 39145 588 179 QnrA5 QnrA5 AAZ04784.1 DQ058663.1 quinolone resistance protein (qnr) fluoroquinolone antibiotic antibiotic target protection QnrA5 ARO:3002712 39146 3348 1673 QnrA6 QnrA6 AAZ78355.1 DQ151889.1 quinolone resistance protein (qnr) fluoroquinolone antibiotic antibiotic target protection QnrA6 ARO:3002713 39147 8202 1034 QnrA7 QnrA7 ACV83303.2 GQ463707.3 quinolone resistance protein (qnr) fluoroquinolone antibiotic antibiotic target protection QnrA7 +ARO:3004668 42715 8616 5907 QnrAS QnrAS CAQ79275.1 FM178379.1 quinolone resistance protein (qnr) fluoroquinolone antibiotic antibiotic target protection QnrAS ARO:3002714 39148 4449 975 QnrB1 QnrB1 ABC86904.2 DQ351241.1 quinolone resistance protein (qnr) fluoroquinolone antibiotic antibiotic target protection QnrB1 ARO:3002724 39158 88 139 QnrB10 QnrB10 ABG56269.1 DQ631414.1 quinolone resistance protein (qnr) fluoroquinolone antibiotic antibiotic target protection QnrB10 ARO:3002725 39159 146 411 QnrB11 QnrB11 ABS30107.1 EF653270.1 quinolone resistance protein (qnr) fluoroquinolone antibiotic antibiotic target protection QnrB11 @@ -4070,6 +4207,7 @@ ARO:3002750 39184 555 1760 QnrB35 QnrB35 AEL00456.1 JN173057.1 quinolone resista ARO:3002751 39185 591 272 QnrB36 QnrB36 AEL00458.1 JN173058.1 quinolone resistance protein (qnr) fluoroquinolone antibiotic antibiotic target protection QnrB36 ARO:3002752 39186 679 891 QnrB37 QnrB37 AEL00459.1 JN173059.1 quinolone resistance protein (qnr) fluoroquinolone antibiotic antibiotic target protection QnrB37 ARO:3002753 39187 8281 99 QnrB38 QnrB38 AEL00461.1 JN173060.2 quinolone resistance protein (qnr) fluoroquinolone antibiotic antibiotic target protection QnrB38 +ARO:3002754 39188 8617 5908 QnrB39 QnrB39 EFE09657.1 ABWL02000005.1 quinolone resistance protein (qnr) fluoroquinolone antibiotic antibiotic target protection QnrB39 ARO:3002718 39152 8184 1707 QnrB4 QnrB4 ABC17630.3 DQ303921.2 quinolone resistance protein (qnr) fluoroquinolone antibiotic antibiotic target protection QnrB4 ARO:3002755 39189 6131 1267 QnrB40 QnrB40 WP_063866081.1 NG_050503.1 quinolone resistance protein (qnr) fluoroquinolone antibiotic antibiotic target protection QnrB40 ARO:3002756 39190 645 594 QnrB41 QnrB41 AEL31272.1 JN166690.1 quinolone resistance protein (qnr) fluoroquinolone antibiotic antibiotic target protection QnrB41 @@ -4105,7 +4243,12 @@ ARO:3002783 39217 406 388 QnrB71 QnrB71 AGL43632.1 KC580660.1 quinolone resistan ARO:3002784 39218 469 2049 QnrB72 QnrB72 AGN92479.1 KC741443.1 quinolone resistance protein (qnr) fluoroquinolone antibiotic antibiotic target protection QnrB72 ARO:3002785 39219 513 1063 QnrB73 QnrB73 AGT59159.1 KF443075.1 quinolone resistance protein (qnr) fluoroquinolone antibiotic antibiotic target protection QnrB73 ARO:3002786 39220 556 1993 QnrB74 QnrB74 AHX97725.1 KJ415247.1 quinolone resistance protein (qnr) fluoroquinolone antibiotic antibiotic target protection QnrB74 +ARO:3003187 39764 8618 5909 QnrB75 QnrB75 AKI82195.1 KP207591.1 quinolone resistance protein (qnr) fluoroquinolone antibiotic antibiotic target protection QnrB75 +ARO:3003188 39765 8634 5919 QnrB76 QnrB76 BBW41109.1 AP022513.1 quinolone resistance protein (qnr) fluoroquinolone antibiotic antibiotic target protection QnrB76 +ARO:3003189 39766 8619 5910 QnrB77 QnrB77 AKO62869.1 KM985470.1 quinolone resistance protein (qnr) fluoroquinolone antibiotic antibiotic target protection QnrB77 +ARO:3003190 39767 8620 5911 QnrB78 QnrB78 AKO62870.1 KM985471.1 quinolone resistance protein (qnr) fluoroquinolone antibiotic antibiotic target protection QnrB78 ARO:3002722 39156 8143 1335 QnrB8 QnrB8 ABW03157.2 EU043312.2 quinolone resistance protein (qnr) fluoroquinolone antibiotic antibiotic target protection QnrB8 +ARO:3003192 39769 8621 5912 QnrB80 QnrB80 AKO62872.1 KM985473.1 quinolone resistance protein (qnr) fluoroquinolone antibiotic antibiotic target protection QnrB80 ARO:3002723 39157 681 1579 QnrB9 QnrB9 ABP88094.1 EF526508.1 quinolone resistance protein (qnr) fluoroquinolone antibiotic antibiotic target protection QnrB9 ARO:3002787 39221 508 1609 QnrC QnrC ACK75961.1 EU917444.1 quinolone resistance protein (qnr) fluoroquinolone antibiotic antibiotic target protection QnrC ARO:3002788 39222 746 822 QnrD1 QnrD1 ACG70184.1 FJ228229.1 quinolone resistance protein (qnr) fluoroquinolone antibiotic antibiotic target protection QnrD1 @@ -4132,11 +4275,12 @@ ARO:3002802 39236 572 1150 QnrVC5 QnrVC5 AEM62764.1 JN408080.1 quinolone resista ARO:3002803 39237 631 1583 QnrVC6 QnrVC6 AGH08253.1 KC202804.1 quinolone resistance protein (qnr) fluoroquinolone antibiotic antibiotic target protection QnrVC6 ARO:3003193 39770 3307 1859 QnrVC7 QnrVC7 AJA36815.1 KM555152.1 quinolone resistance protein (qnr) fluoroquinolone antibiotic antibiotic target protection QnrVC7 ARO:3003565 40174 3308 332 R39 R39 CAA37699.1 X53650.1 R39 beta-lactamase penam antibiotic inactivation R39 +ARO:3007483 46250 8679 5957 RAD-1 RAD-1 UWS41116.1 CP104076.1 RAD beta-lactamase carbapenem;cephalosporin antibiotic inactivation RAD-1 ARO:3006979 45441 8011 5636 RAHN-1 RAHN-1 WP_063864600.1 NG_049975.1 RAHN beta-lactamase cephalosporin antibiotic inactivation RAHN-1 ARO:3006980 45442 8012 5637 RAHN-2 RAHN-2 WP_063864601.1 NG_049976.1 RAHN beta-lactamase cephalosporin antibiotic inactivation RAHN-2 ARO:3000823 37203 289 1665 ramA ramA AFK13828.1 JQ727668.1 General Bacterial Porin with reduced permeability to beta-lactams;resistance-nodulation-cell division (RND) antibiotic efflux pump carbapenem;cephalosporin;cephamycin;disinfecting agents and antiseptics;fluoroquinolone antibiotic;glycylcycline;monobactam;penam;penem;phenicol antibiotic;rifamycin antibiotic;tetracycline antibiotic antibiotic efflux;reduced permeability to antibiotic ramA -ARO:3005091 43304 6125 3825 RanA RanA ADZ12699.1 CP002562.1 ATP-binding cassette (ABC) antibiotic efflux pump aminoglycoside antibiotic antibiotic efflux RanA -ARO:3005090 43302 6124 3824 RanB RanB ADZ12700.1 CP002562.1 ATP-binding cassette (ABC) antibiotic efflux pump aminoglycoside antibiotic antibiotic efflux RanB +ARO:3005091 43304 6125 3825 RanA RanA ADZ12699.1 CP002562.1 ATP-binding cassette (ABC) antibiotic efflux pump aminoglycoside antibiotic;macrolide antibiotic antibiotic efflux RanA +ARO:3005090 43302 6124 3824 RanB RanB ADZ12700.1 CP002562.1 ATP-binding cassette (ABC) antibiotic efflux pump aminoglycoside antibiotic;macrolide antibiotic antibiotic efflux RanB ARO:3000245 36384 356 1425 RbpA RbpA ADV91011.1 HQ203032.1 RbpA bacterial RNA polymerase-binding protein rifamycin antibiotic antibiotic target protection RbpA ARO:3003563 40170 3306 882 RCP-1 RCP-1 CAA33795.1 X15791.1 RCP beta-lactamase penam antibiotic inactivation RCP-1 ARO:3002883 39317 4461 134 rgt1438 rgt1438 AFO53532.1 JX028276.1 rifampin glycosyltransferase rifamycin antibiotic antibiotic inactivation rgt1438 @@ -4172,13 +4316,13 @@ ARO:3000444 36583 7 910 rphA rphA AIA08936.1 KJ151292.1 rifampin phosphotransfer ARO:3003992 40874 3864 2528 rphB rphB APB03222.1 KX531052.1 rifampin phosphotransferase rifamycin antibiotic antibiotic inactivation rphB ARO:3000501 36640 4176 2831 rpoB2 rpoB2 BAD59497.1 AP006618.1 rifamycin-resistant beta-subunit of RNA polymerase (rpoB) peptide antibiotic;rifamycin antibiotic antibiotic target alteration;antibiotic target replacement rpoB2 ARO:3003930 40640 5267 2406 rpsJ rpsJ AAW90462.1 AE004969.1 tetracycline-resistant ribosomal protection protein tetracycline antibiotic antibiotic target protection rpsJ -ARO:3004444 41637 4271 2884 RSA-1 RSA-1 AUW34365.1 MG739510.1 RSA beta-lactamase carbapenem;cephalosporin antibiotic inactivation RSA-1 -ARO:3004445 41638 4272 2885 RSA-2 RSA-2 AUW34359.1 MG739504.1 RSA beta-lactamase carbapenem;cephalosporin antibiotic inactivation RSA-2 +ARO:3004444 41637 4271 2884 RSA1-1 RSA1-1 AUW34365.1 MG739510.1 RSA beta-lactamase carbapenem;cephalosporin antibiotic inactivation RSA1-1 ARO:3006981 45443 8013 5638 RSA2-1 RSA2-1 WP_128268281.1 NG_063889.1 RSA2 beta-lactamase carbapenem antibiotic inactivation RSA2-1 ARO:3006982 45444 8014 5639 RSD2-1 RSD2-1 WP_128268284.1 NG_063892.1 RSD2 beta-lactamase carbapenem;cephalosporin antibiotic inactivation RSD2-1 ARO:3006983 45445 8015 5640 RSD2-2 RSD2-2 WP_128268285.1 NG_063893.1 RSD2 beta-lactamase carbapenem;cephalosporin antibiotic inactivation RSD2-2 ARO:3005069 43273 6102 3807 rsmA rsmA AAC16242.1 AF061757.1 resistance-nodulation-cell division (RND) antibiotic efflux pump diaminopyrimidine antibiotic;fluoroquinolone antibiotic;phenicol antibiotic antibiotic efflux rsmA ARO:3006984 45446 8016 5641 RUB-1 RUB-1 WP_072186106.1 NG_054671.1 RUB beta-lactamase cephalosporin antibiotic inactivation RUB-1 +ARO:3007662 46442 8722 6001 Rv1877 Rv1877 NP_216393.1 NC_000962.3 major facilitator superfamily (MFS) antibiotic efflux pump fluoroquinolone antibiotic antibiotic efflux Rv1877 ARO:3003749 40405 3519 2265 salA salA AGN74946.1 KC693025.1 sal-type ABC-F protein lincosamide antibiotic;pleuromutilin antibiotic;streptogramin A antibiotic;streptogramin antibiotic antibiotic target protection salA ARO:3007026 45570 8291 5737 salB salB MBW0770001.1 JAHWBZ010000013.1 sal-type ABC-F protein lincosamide antibiotic;pleuromutilin antibiotic;streptogramin A antibiotic;streptogramin antibiotic antibiotic target protection salB ARO:3007027 45571 8292 5738 salC salC MBW0764195.1 JAAQPD010000007.1 sal-type ABC-F protein lincosamide antibiotic;pleuromutilin antibiotic;streptogramin A antibiotic;streptogramin antibiotic antibiotic target protection salC @@ -4202,7 +4346,7 @@ ARO:3000489 36628 4538 432 sav1866 sav1866 WP_000597238.1 NC_002745.2 ATP-bindin ARO:3004856 42992 6282 3653 SCO-1 SCO-1 ABL75133.1 EF063111.1 SCO beta-lactamase cephalosporin;penam;penem antibiotic inactivation SCO-1 ARO:3000826 37206 5397 228 sdiA sdiA AAL20862.1 AE006468.2 resistance-nodulation-cell division (RND) antibiotic efflux pump cephalosporin;disinfecting agents and antiseptics;fluoroquinolone antibiotic;glycylcycline;penam;phenicol antibiotic;rifamycin antibiotic;tetracycline antibiotic antibiotic efflux sdiA ARO:3007013 45482 8125 5729 sdrM sdrM BAB43261.1 BA000018.3 major facilitator superfamily (MFS) antibiotic efflux pump disinfecting agents and antiseptics;fluoroquinolone antibiotic antibiotic efflux sdrM -ARO:3003561 40167 3310 1294 Sed-1 Sed-1 AAK63223.1 AF321608.1 Sed beta-lactamase cephalosporin;penam antibiotic inactivation Sed-1 +ARO:3003561 40167 3310 1294 Sed-1 Sed-1 AAK63223.1 AF321608.1 Sed beta-lactamase cephalosporin;penam;penem antibiotic inactivation Sed-1 ARO:3007012 45481 8124 5728 sepA sepA WP_042355600.1 NC_016941.1 small multidrug resistance (SMR) antibiotic efflux pump disinfecting agents and antiseptics antibiotic efflux sepA ARO:3004128 41254 5857 2790 Serratia marcescens Omp1 Serratia marcescens Omp1 AIA49384.1 CP005927.1 General Bacterial Porin with reduced permeability to beta-lactams carbapenem;cephalosporin;cephamycin;fluoroquinolone antibiotic;monobactam;penam;penem;phenicol antibiotic;tetracycline antibiotic reduced permeability to antibiotic;resistance by absence Smar_Omp1 ARO:3003557 40160 3311 614 SFB-1 SFB-1 AAT90847.1 AY590119.1 SHW beta-lactamase cephalosporin;penam antibiotic inactivation SFB-1 @@ -4218,6 +4362,7 @@ ARO:3006991 45453 8023 5648 SGM-5 SGM-5 WP_007708339.1 NG_049987.1 SGM beta-lact ARO:3006992 45454 8024 5649 SGM-6 SGM-6 WP_004207704.1 NG_049988.1 SGM beta-lactamase carbapenem antibiotic inactivation SGM-6 ARO:3006993 45455 8025 5650 SGM-7 SGM-7 WP_010337133.1 NG_050614.1 SGM beta-lactamase carbapenem antibiotic inactivation SGM-7 ARO:3007017 45486 8128 5732 SHD-1 SHD-1 WP_011495276.1 NG_077967.1 SHD beta-lactamase carbapenem;cephalosporin antibiotic inactivation SHD-1 +ARO:3007509 46278 8687 5965 Shigella flexneri acrA Shigella flexneri acrA NP_706356.2 NC_004337.2 resistance-nodulation-cell division (RND) antibiotic efflux pump cephalosporin;disinfecting agents and antiseptics;fluoroquinolone antibiotic;glycylcycline;penam;phenicol antibiotic;rifamycin antibiotic;tetracycline antibiotic antibiotic efflux Sfle_acrA ARO:3003940 40664 5265 2411 Shigella flexneri gyrA conferring resistance to fluoroquinolones Shigella flexneri gyrA conferring resistance to fluoroquinolones AAN43827.1 AE005674.2 fluoroquinolone resistant gyrA fluoroquinolone antibiotic;nybomycin-like antibiotic antibiotic target alteration Sfle_gyrA_FLO ARO:3003941 40666 5263 2412 Shigella flexneri parC conferring resistance to fluoroquinolones Shigella flexneri parC conferring resistance to fluoroquinolones AAN44541.1 AE005674.2 fluoroquinolone resistant parC fluoroquinolone antibiotic antibiotic target alteration Sfle_parC_FLO ARO:3006994 45456 8026 5651 SHN-1 SHN-1 WP_011497575.1 NG_059313.1 SHN beta-lactamase carbapenem antibiotic inactivation SHN-1 @@ -4450,6 +4595,7 @@ ARO:3002828 39262 189 128 srmB srmB CAA45050.1 X63451.1 Miscellaneous ABC-F subf ARO:3002493 38893 1718 199 SRT-1 SRT-1 BAA23130.1 AB008454.1 SRT beta-lactamase cephalosporin antibiotic inactivation SRT-1 ARO:3002494 38894 8219 1878 SRT-2 SRT-2 AAS07017.3 AY524276.3 SRT beta-lactamase cephalosporin antibiotic inactivation SRT-2 ARO:3006853 45315 8039 5664 SRT-3 SRT-3 WP_033642964.1 NG_070754.1 SRT beta-lactamase cephalosporin antibiotic inactivation SRT-3 +ARO:3007442 46200 8653 5934 SSA SSA CBI71171.1 FN640464.1 SSA beta-lactamase cephalosporin;cephamycin;penam antibiotic inactivation SSA ARO:3006999 45461 8040 5665 SST-1 SST-1 WP_063864750.1 NG_050144.1 SST beta-lactamase cephalosporin antibiotic inactivation SST-1 ARO:3004699 42751 5585 3397 sta sta AAA88560.1 M16183.1 streptothricin acetyltransferase (SAT) nucleoside antibiotic antibiotic inactivation sta ARO:3007000 45462 8041 5666 STA-1 STA-1 WP_109545039.1 NG_057419.1 STA beta-lactamase carbapenem antibiotic inactivation STA-1 @@ -4490,6 +4636,7 @@ ARO:3003041 39475 692 1607 Streptococcus pneumoniae PBP1a conferring resistance ARO:3003042 39476 5531 1035 Streptococcus pneumoniae PBP2b conferring resistance to amoxicillin Streptococcus pneumoniae PBP2b conferring resistance to amoxicillin AAL00321.1 AE007317.1 Penicillin-binding protein mutations conferring resistance to beta-lactam antibiotics carbapenem;cephalosporin;cephamycin;monobactam;penam antibiotic target alteration Spne_PBP2b_AMX ARO:3003043 39477 331 320 Streptococcus pneumoniae PBP2x conferring resistance to amoxicillin Streptococcus pneumoniae PBP2x conferring resistance to amoxicillin AFC91898.1 JN645706.1 Penicillin-binding protein mutations conferring resistance to beta-lactam antibiotics carbapenem;cephalosporin;cephamycin;monobactam;penam antibiotic target alteration Spne_PBP2x_AMX ARO:3003387 39971 2095 570 Streptococcus pyogenes folP with mutation conferring resistance to sulfonamides Streptococcus pyogenes folP with mutation conferring resistance to sulfonamides AAL97684.1 AE009949.1 sulfonamide resistant dihydropteroate synthase folP sulfonamide antibiotic;sulfone antibiotic antibiotic target alteration Spyo_folP_SLF +ARO:3007531 46302 8693 5970 Streptococcus pyogenes PBP2x conferring resistance to beta-lactam antibiotics Streptococcus pyogenes PBP2x conferring resistance to beta-lactam antibiotics QTH61293.1 CP072112.1 Penicillin-binding protein mutations conferring resistance to beta-lactam antibiotics carbapenem;cephalosporin;cephamycin;monobactam;penam antibiotic target alteration Spyo_PBP2x_BLA ARO:3004455 41666 4427 2894 Streptococcus suis chloramphenicol acetyltransferase Streptococcus suis chloramphenicol acetyltransferase BAC11901.1 AB080798.1 chloramphenicol acetyltransferase (CAT) phenicol antibiotic antibiotic inactivation Ssui_ACT_CHL ARO:3004171 41322 4163 2818 Streptomyces ambofaciens 23S rRNA with mutation conferring resistance to macrolide antibiotics Streptomyces ambofaciens 23S rRNA with mutation conferring resistance to macrolide antibiotics NZ_CP012949.1 23S rRNA with mutation conferring resistance to macrolide antibiotics glycopeptide antibiotic;lincosamide antibiotic;macrolide antibiotic;phenicol antibiotic;pleuromutilin antibiotic;streptogramin A antibiotic;streptogramin B antibiotic;streptogramin antibiotic antibiotic target alteration Samb_23S_MAC ARO:3003359 39943 3578 2310 Streptomyces cinnamoneus EF-Tu mutants conferring resistance to elfamycin Streptomyces cinnamoneus EF-Tu mutants conferring resistance to elfamycin CAA67349.1 X98831.1 elfamycin resistant EF-Tu elfamycin antibiotic antibiotic target alteration Scin_EFTu_ELF @@ -4510,6 +4657,7 @@ ARO:3000873 37253 1951 355 TEM-1 TEM-1 CAD09800.1 AL513383.1 TEM beta-lactamase ARO:3000882 37262 2029 665 TEM-10 TEM-10 AAC72362.1 AF093512.1 TEM beta-lactamase cephalosporin;monobactam;penam;penem antibiotic inactivation TEM-10 ARO:3000964 37344 842 1725 TEM-101 TEM-101 AAM18924.1 AF495873.1 TEM beta-lactamase cephalosporin;monobactam;penam;penem antibiotic inactivation TEM-101 ARO:3000965 37345 923 86 TEM-102 TEM-102 AAK82652.1 AY040093.1 TEM beta-lactamase cephalosporin;monobactam;penam;penem antibiotic inactivation TEM-102 +ARO:3000966 37346 8735 6007 TEM-103 TEM-103 EAC0197234.1 AAAGNS010000063.1 TEM beta-lactamase cephalosporin;monobactam;penam;penem antibiotic inactivation TEM-103 ARO:3000967 37347 995 1279 TEM-104 TEM-104 AAM61952.1 AF516719.1 TEM beta-lactamase cephalosporin;monobactam;penam;penem antibiotic inactivation TEM-104 ARO:3000968 37348 1071 1961 TEM-105 TEM-105 AAM61953.1 AF516720.1 TEM beta-lactamase cephalosporin;monobactam;penam;penem antibiotic inactivation TEM-105 ARO:3000969 37349 1153 543 TEM-106 TEM-106 AAM52207.1 AY101578.1 TEM beta-lactamase cephalosporin;monobactam;penam;penem antibiotic inactivation TEM-106 @@ -4641,6 +4789,10 @@ ARO:3005270 43627 6366 4002 TEM-240 TEM-240 WP_150823495.1 NG_066544.1 TEM beta- ARO:3005271 43628 6367 4003 TEM-241 TEM-241 WP_148044472.1 NG_065938.1 TEM beta-lactamase cephalosporin;monobactam;penam;penem antibiotic inactivation TEM-241 ARO:3005272 43629 6368 4004 TEM-242 TEM-242 WP_148044473.1 NG_065939.1 TEM beta-lactamase cephalosporin;monobactam;penam;penem antibiotic inactivation TEM-242 ARO:3005273 43630 6369 4005 TEM-243 TEM-243 WP_197749416.1 NG_071226.1 TEM beta-lactamase cephalosporin;monobactam;penam;penem antibiotic inactivation TEM-243 +ARO:3007453 46215 8666 5944 TEM-244 TEM-244 QWY17601.1 MZ026156.1 TEM beta-lactamase cephalosporin;monobactam;penam;penem antibiotic inactivation TEM-244 +ARO:3007454 46216 8668 5946 TEM-245 TEM-245 ULU82600.1 OM617737.1 TEM beta-lactamase cephalosporin;monobactam;penam;penem antibiotic inactivation TEM-245 +ARO:3007448 46209 8661 5940 TEM-246 TEM-246 ULU82601.1 OM617738.1 TEM beta-lactamase cephalosporin;monobactam;penam;penem antibiotic inactivation TEM-246 +ARO:3007451 46212 8665 5943 TEM-247 TEM-247 UTS94241.1 ON651488.1 TEM beta-lactamase cephalosporin;monobactam;penam;penem antibiotic inactivation TEM-247 ARO:3000896 37276 5840 811 TEM-26 TEM-26 WP_047028173.1 NG_050256.1 TEM beta-lactamase cephalosporin;monobactam;penam;penem antibiotic inactivation TEM-26 ARO:3000898 37278 1958 1022 TEM-28 TEM-28 AAC32891.1 U37195.1 TEM beta-lactamase cephalosporin;monobactam;penam;penem antibiotic inactivation TEM-28 ARO:3000899 37279 2036 1011 TEM-29 TEM-29 CAA76796.1 Y17584.1 TEM beta-lactamase cephalosporin;monobactam;penam;penem antibiotic inactivation TEM-29 @@ -4671,6 +4823,7 @@ ARO:3000926 37306 850 2025 TEM-57 TEM-57 ACJ43254.1 FJ405211.1 TEM beta-lactamas ARO:3000928 37308 931 15 TEM-59 TEM-59 AAD45935.1 AF062386.1 TEM beta-lactamase cephalosporin;monobactam;penam;penem antibiotic inactivation TEM-59 ARO:3000878 37258 1002 760 TEM-6 TEM-6 CAA41038.1 X57972.1 TEM beta-lactamase cephalosporin;monobactam;penam;penem antibiotic inactivation TEM-6 ARO:3000929 37309 1079 2040 TEM-60 TEM-60 AAC05975.1 AF047171.1 TEM beta-lactamase cephalosporin;monobactam;penam;penem antibiotic inactivation TEM-60 +ARO:3000930 37310 8736 6008 TEM-61 TEM-61 BCD58813.1 LC542923.1 TEM beta-lactamase cephalosporin;monobactam;penam;penem antibiotic inactivation TEM-61 ARO:3000931 37311 1161 885 TEM-63 TEM-63 AAK17194.1 AF332513.1 TEM beta-lactamase cephalosporin;monobactam;penam;penem antibiotic inactivation TEM-63 ARO:3000934 37314 8159 287 TEM-67 TEM-67 AAD33116.2 AF091113.2 TEM beta-lactamase cephalosporin;monobactam;penam;penem antibiotic inactivation TEM-67 ARO:3000935 37315 1327 836 TEM-68 TEM-68 CAB92324.1 AJ239002.1 TEM beta-lactamase cephalosporin;monobactam;penam;penem antibiotic inactivation TEM-68 @@ -4732,9 +4885,12 @@ ARO:3004589 42519 5159 3290 tet(53) tet(53) AKQ05897.1 KR857687.1 tetracycline i ARO:3004590 42520 5161 3292 tet(54) tet(54) AKQ05898.1 KR857688.1 tetracycline inactivation enzyme tetracycline antibiotic antibiotic inactivation tet(54) ARO:3004591 42521 5162 3293 tet(55) tet(55) AKQ05899.1 KR857689.1 tetracycline inactivation enzyme tetracycline antibiotic antibiotic inactivation tet(55) ARO:3004603 42545 5229 3302 tet(56) tet(56) ARB93503.1 CP020412.2 tetracycline inactivation enzyme tetracycline antibiotic antibiotic inactivation tet(56) -ARO:3005006 43194 6041 3750 tet(57) tet(57) AJO67548.1 KP137702.1 tetracycline-resistant ribosomal protection protein tetracycline antibiotic antibiotic target protection tet(57) +ARO:3005006 43194 6041 3750 tet(57) tet(57) AJO67548.1 KP137702.1 major facilitator superfamily (MFS) antibiotic efflux pump tetracycline antibiotic antibiotic efflux tet(57) ARO:3004441 41632 4269 2881 tet(59) tet(59) AMP42492.1 KU736879.1 major facilitator superfamily (MFS) antibiotic efflux pump tetracycline antibiotic antibiotic efflux tet(59) ARO:3004576 42495 8448 3279 tet(61) tet(61) ARX76269.1 KY887560.1 tetracycline-resistant ribosomal protection protein tetracycline antibiotic antibiotic target protection tet(61) +ARO:3007492 46260 8684 5962 tet(62) tet(62) QIQ10744.1 MN340018.1 major facilitator superfamily (MFS) antibiotic efflux pump tetracycline antibiotic antibiotic efflux tet(62) +ARO:3007493 46261 8685 5963 tet(63) tet(63) QJR33972.1 CP053076.1 major facilitator superfamily (MFS) antibiotic efflux pump tetracycline antibiotic antibiotic efflux tet(63) +ARO:3007494 46262 8686 5964 tet(64) tet(64) WP_124470450.1 NG_071182.1 major facilitator superfamily (MFS) antibiotic efflux pump tetracycline antibiotic antibiotic efflux tet(64) ARO:3000165 36304 5213 1808 tet(A) tet(A) AAN06707.1 AF534183.1 major facilitator superfamily (MFS) antibiotic efflux pump tetracycline antibiotic antibiotic efflux tet(A) ARO:3004032 41064 3976 2643 tetA(46) tetA(46) AET10444.1 HQ652506.1 ATP-binding cassette (ABC) antibiotic efflux pump tetracycline antibiotic antibiotic efflux tetA(46) ARO:3003980 40861 3853 2517 tetA(58) tetA(58) APB03214.1 KX531044.1 major facilitator superfamily (MFS) antibiotic efflux pump tetracycline antibiotic antibiotic efflux tetA(58) @@ -4765,7 +4921,6 @@ ARO:3003479 40072 2090 276 tetR tetR CAD09823.1 AL513383.1 major facilitator sup ARO:3004653 42683 5498 3352 tetR(G) tetR(G) AAB24797.1 S52438.1 major facilitator superfamily (MFS) antibiotic efflux pump tetracycline antibiotic antibiotic efflux tetR(G) ARO:3000192 36331 619 1553 tet(S) tet(S) AAA25293.1 L09756.1 tetracycline-resistant ribosomal protection protein tetracycline antibiotic antibiotic target protection tet(S) ARO:3000193 36332 520 2037 tet(T) tet(T) AAF01499.1 L42544.1 tetracycline-resistant ribosomal protection protein tetracycline antibiotic antibiotic target protection tet(T) -ARO:3004650 42673 5494 3349 tet(U) tet(U) AAB08924.1 U01917.1 major facilitator superfamily (MFS) antibiotic efflux pump tetracycline antibiotic antibiotic efflux tet(U) ARO:3000181 36320 4742 1006 tet(V) tet(V) AAB84282.1 AF030344.1 major facilitator superfamily (MFS) antibiotic efflux pump tetracycline antibiotic antibiotic efflux tet(V) ARO:3000194 36333 5145 389 tet(W) tet(W) CAA10975.1 AJ222769.3 tetracycline-resistant ribosomal protection protein tetracycline antibiotic antibiotic target protection tet(W) ARO:3007124 45701 8470 5794 tet(W/32/O) tet(W/32/O) AAL09826.1 AY049983.2 tetracycline-resistant ribosomal protection protein tetracycline antibiotic antibiotic target protection tet(W/32/O) @@ -4780,10 +4935,11 @@ ARO:3000182 36321 3343 402 tet(Y) tet(Y) AAC72341.1 AF070999.1 major facilitator ARO:3000183 36322 5588 1885 tet(Z) tet(Z) AAD25063.1 AF121000.1 major facilitator superfamily (MFS) antibiotic efflux pump tetracycline antibiotic antibiotic efflux tet(Z) ARO:3005083 43292 6116 3818 Thermus thermophilus 23s rRNA conferring resistance to pleuromutilin antibiotics Thermus thermophilus 23s rRNA conferring resistance to pleuromutilin antibiotics AE017221.1 23S rRNA with mutation conferring resistance to pleuromutilin antibiotics glycopeptide antibiotic;lincosamide antibiotic;macrolide antibiotic;phenicol antibiotic;pleuromutilin antibiotic;streptogramin A antibiotic;streptogramin B antibiotic;streptogramin antibiotic antibiotic target alteration Tthe_23S_PLM ARO:3005081 43289 6113 3817 Thermus thermophilus uL3 mutations conferring resistance to pleuromutilin antibiotics Thermus thermophilus uL3 mutations conferring resistance to pleuromutilin antibiotics AAS81670.1 AE017221.1 Ribosomal protein mutation conferring resistance to pleuromutilin antibiotics pleuromutilin antibiotic antibiotic target alteration Tthe_uL3_PLM +ARO:3007427 46183 8645 5926 ThfT ThfT QCK45398.1 CP035438.1 ECF transporter S component sulfonamide antibiotic resistance by host-dependent nutrient acquisition ThfT ARO:3000851 37231 1081 1393 THIN-B THIN-B CAC33832.1 AJ250876.1 THIN-B beta-lactamase carbapenem;cephalosporin;penam antibiotic inactivation THIN-B -ARO:3003202 39786 3315 546 TLA-1 TLA-1 AAD37403.1 AF148067.1 TLA beta-lactamase cephalosporin;fluoroquinolone antibiotic;monobactam antibiotic inactivation TLA-1 -ARO:3003203 39787 4456 102 TLA-2 TLA-2 CAG27800.1 AJ698325.1 TLA beta-lactamase cephalosporin;fluoroquinolone antibiotic;monobactam antibiotic inactivation TLA-2 -ARO:3003204 39788 5278 2326 TLA-3 TLA-3 BAQ22139.1 AP014611.1 TLA beta-lactamase cephalosporin;fluoroquinolone antibiotic;monobactam antibiotic inactivation TLA-3 +ARO:3003202 39786 3315 546 TLA-1 TLA-1 AAD37403.1 AF148067.1 TLA beta-lactamase cephalosporin;monobactam antibiotic inactivation TLA-1 +ARO:3003203 39787 4456 102 TLA-2 TLA-2 CAG27800.1 AJ698325.1 TLA beta-lactamase cephalosporin;monobactam antibiotic inactivation TLA-2 +ARO:3003204 39788 5278 2326 TLA-3 TLA-3 BAQ22139.1 AP014611.1 TLA beta-lactamase cephalosporin;monobactam antibiotic inactivation TLA-3 ARO:3001299 37698 546 336 tlrB conferring tylosin resistance tlrB conferring tylosin resistance AAD12162.1 AF055922.1 non-erm 23S ribosomal RNA methyltransferase (G748) lincosamide antibiotic;macrolide antibiotic antibiotic target alteration Sfra_tlrB_TYL ARO:3002827 39261 158 1997 tlrC tlrC AAA26832.1 M57437.1 Miscellaneous ABC-F subfamily ATP-binding cassette ribosomal protection proteins lincosamide antibiotic;macrolide antibiotic antibiotic target protection tlrC ARO:3004105 41217 5515 2773 TMB-1 TMB-1 CBY88906.1 FR771847.1 TMB beta-lactamase carbapenem;cephalosporin;cephamycin antibiotic inactivation TMB-1 @@ -4798,7 +4954,7 @@ ARO:3005345 43704 6450 4077 Trimethoprim-resistant dihydrofolate reductase DfrA4 ARO:3004450 41645 5501 2889 TRU-1 TRU-1 ABW05394.1 EU046614.1 TRU beta-lactamase cephalosporin;penam antibiotic inactivation TRU-1 ARO:3003060 39494 4186 49 tsnR tsnR AAA99931.1 L39157.1 non-erm 23S ribosomal RNA methyltransferase (A1067) peptide antibiotic antibiotic target alteration tsnR ARO:3007002 45464 8047 5672 TTU-1 TTU-1 WP_015818996.1 NG_059314.1 TTU beta-lactamase carbapenem antibiotic inactivation TTU-1 -ARO:3000844 37224 1163 392 TUS-1 TUS-1 AAN63648.1 AF441287.1 TUS beta-lactamase carbapenem;cephalosporin;cephamycin antibiotic inactivation TUS-1 +ARO:3000844 37224 1163 392 TUS-1 TUS-1 AAN63648.1 AF441287.1 TUS beta-lactamase carbapenem;cephalosporin;cephamycin;penam;penem antibiotic inactivation TUS-1 ARO:3004730 42834 5679 3484 tva(A) tva(A) SOX29786.1 LT970863.1 Miscellaneous ABC-F subfamily ATP-binding cassette ribosomal protection proteins pleuromutilin antibiotic antibiotic target protection tva(A) ARO:3005008 43196 6043 3753 TxR TxR AAK37618.1 AF353562.1 ATP-binding cassette (ABC) antibiotic efflux pump tetracycline antibiotic antibiotic efflux TxR ARO:3004059 41125 5520 2691 Type A NfxB Type A NfxB AAG07988.1 AE004091.2 resistance-nodulation-cell division (RND) antibiotic efflux pump aminocoumarin antibiotic;cephalosporin;diaminopyrimidine antibiotic;fluoroquinolone antibiotic;macrolide antibiotic;penam;phenicol antibiotic;tetracycline antibiotic antibiotic efflux Type_A_NfxB @@ -4932,8 +5088,8 @@ ARO:3004715 42770 5595 3400 vga(E) Staphylococcus cohnii vga(E) Staphylococcus c ARO:3001307 37706 4416 1594 vgbA vgbA AAA98349.1 M20129.1 streptogramin vgb lyase streptogramin B antibiotic;streptogramin antibiotic antibiotic inactivation vgbA ARO:3001308 37707 4415 1144 vgbB vgbB AAC61670.1 AF015628.1 streptogramin vgb lyase streptogramin B antibiotic;streptogramin antibiotic antibiotic inactivation vgbB ARO:3003990 40872 3862 2526 vgbC vgbC APB03225.1 KX531055.1 streptogramin vgb lyase streptogramin B antibiotic;streptogramin antibiotic antibiotic inactivation vgbC -ARO:3007003 45465 8064 5689 VHH-1 VHH-1 WP_063865164.1 NG_050334.1 VHH beta-lactamase carbapenem;cephalosporin antibiotic inactivation VHH-1 -ARO:3007004 45466 8065 5690 VHW-1 VHW-1 WP_063865165.1 NG_050335.1 VHW beta-lactamase carbapenem;cephalosporin antibiotic inactivation VHW-1 +ARO:3007003 45465 8064 5689 VHH-1 VHH-1 WP_063865164.1 NG_050334.1 VHH beta-lactamase carbapenem;cephalosporin;penam antibiotic inactivation VHH-1 +ARO:3007004 45466 8065 5690 VHW-1 VHW-1 WP_063865165.1 NG_050335.1 VHW beta-lactamase carbapenem;cephalosporin;penam antibiotic inactivation VHW-1 ARO:3004460 41671 4432 2899 Vibrio anguillarum chloramphenicol acetyltransferase Vibrio anguillarum chloramphenicol acetyltransferase AAB23649.1 S48276.1 chloramphenicol acetyltransferase (CAT) phenicol antibiotic antibiotic inactivation Vang_ACT_CHL ARO:3004118 41242 8288 2783 Vibrio cholerae OmpT Vibrio cholerae OmpT AAC28105.1 AF079766.2 General Bacterial Porin with reduced permeability to peptide antibiotics peptide antibiotic reduced permeability to antibiotic Vcho_OmpT ARO:3004117 41241 4097 2782 Vibrio cholerae OmpU Vibrio cholerae OmpU AID70696.1 KJ699300.1 General Bacterial Porin with reduced permeability to peptide antibiotics peptide antibiotic reduced permeability to antibiotic Vcho_OmpU @@ -5009,14 +5165,15 @@ ARO:3005520 43982 8096 5721 VIM-72 VIM-72 WP_188331881.1 NG_070756.1 VIM beta-la ARO:3005521 43983 8097 5722 VIM-73 VIM-73 WP_188331882.1 NG_070757.1 VIM beta-lactamase carbapenem;cephalosporin;cephamycin;penam;penem antibiotic inactivation VIM-73 ARO:3002278 38678 1084 262 VIM-8 VIM-8 AAS13759.1 AY524987.1 VIM beta-lactamase carbapenem;cephalosporin;cephamycin;penam;penem antibiotic inactivation VIM-8 ARO:3002279 38679 1166 1857 VIM-9 VIM-9 AAS13760.1 AY524988.1 VIM beta-lactamase carbapenem;cephalosporin;cephamycin;penam;penem antibiotic inactivation VIM-9 -ARO:3005015 43204 6048 3758 VMB-1 VMB-1 QGQ32905.1 MN719868.1 VMB beta-lactamase carbapenem antibiotic inactivation VMB-1 -ARO:3004476 41736 5366 2907 vmlR vmlR NP_388442.1 NC_000964.3 Miscellaneous ABC-F subfamily ATP-binding cassette ribosomal protection proteins lincosamide antibiotic;streptogramin B antibiotic;streptogramin antibiotic antibiotic target protection vmlR +ARO:3005015 43204 6048 3758 VMB-1 VMB-1 QGQ32905.1 MN719868.1 VMB beta-lactamase carbapenem;cephalosporin;penam antibiotic inactivation VMB-1 +ARO:3004476 41736 5366 2907 vmlR vmlR NP_388442.1 NC_000964.3 Miscellaneous ABC-F subfamily ATP-binding cassette ribosomal protection proteins lincosamide antibiotic;nucleoside antibiotic;pleuromutilin antibiotic;streptogramin A antibiotic;streptogramin B antibiotic;streptogramin antibiotic antibiotic target protection vmlR ARO:3003061 39495 62 1223 vph vph CAA26235.1 X02393.1 viomycin phosphotransferase peptide antibiotic antibiotic inactivation vph -ARO:3003558 40163 3318 980 y56 beta-lactamase y56 beta-lactamase AAX55643.1 AY954728.1 BlaA beta-lactamase cephalosporin;penam antibiotic inactivation Yent_y56 +ARO:3007435 46193 8652 5933 WUS-1 WUS-1 UPP01678.1 OL872181.1 WUS beta-lactamase carbapenem;penam antibiotic inactivation WUS-1 +ARO:3003558 40163 3318 980 y56 beta-lactamase y56 beta-lactamase AAX55643.1 AY954728.1 BlaA beta-lactamase cephalosporin;penam;penem antibiotic inactivation Yent_y56 ARO:3005040 43238 6076 3783 YajC YajC TKW44661.1 VAOQ01003483.1 resistance-nodulation-cell division (RND) antibiotic efflux pump cephalosporin;disinfecting agents and antiseptics;fluoroquinolone antibiotic;glycopeptide antibiotic;glycylcycline;oxazolidinone antibiotic;penam;phenicol antibiotic;rifamycin antibiotic;tetracycline antibiotic antibiotic efflux YajC ARO:3007005 45467 8098 5723 YEM-1 YEM-1 WP_004874166.1 NG_070759.1 YEM beta-lactamase carbapenem antibiotic inactivation YEM-1 ARO:3003063 39497 489 1826 ykkC ykkC CAB13166.1 AL009126.1 small multidrug resistance (SMR) antibiotic efflux pump aminoglycoside antibiotic;phenicol antibiotic;tetracycline antibiotic antibiotic efflux ykkC ARO:3003064 39498 536 350 ykkD ykkD CAB13167.1 AL009126.1 small multidrug resistance (SMR) antibiotic efflux pump aminoglycoside antibiotic;phenicol antibiotic;tetracycline antibiotic antibiotic efflux ykkD ARO:3003952 40722 5261 2424 YojI YojI AAC75271.1 U00096.3 ATP-binding cassette (ABC) antibiotic efflux pump peptide antibiotic antibiotic efflux YojI -ARO:3005035 43233 6072 3779 Yrc-1 Yrc-1 ABA70720.1 DQ185144.1 YRC Beta-lactamase cephalosporin;penam antibiotic inactivation Yrc-1 -ARO:3007006 45468 8099 5724 ZOG-1 ZOG-1 WP_013992183.1 NG_057434.1 ZOG beta-lactamase carbapenem antibiotic inactivation ZOG-1 \ No newline at end of file +ARO:3005035 43233 6072 3779 Yrc-1 Yrc-1 ABA70720.1 DQ185144.1 YRC Beta-lactamase cephalosporin;cephamycin;penam antibiotic inactivation Yrc-1 +ARO:3007006 45468 8099 5724 ZOG-1 ZOG-1 WP_013992183.1 NG_057434.1 ZOG beta-lactamase carbapenem antibiotic inactivation ZOG-1 From 8edd62a4bce79fcf7fb1a1207b8b7944bd58e7e7 Mon Sep 17 00:00:00 2001 From: fmalmeida Date: Wed, 7 Feb 2024 10:25:16 +0100 Subject: [PATCH 18/42] add small checker to convert 0-starts in 1-starts --- modules/MGEs/integron_finder_2gff.nf | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/modules/MGEs/integron_finder_2gff.nf b/modules/MGEs/integron_finder_2gff.nf index 6abaeab3..263ddda3 100644 --- a/modules/MGEs/integron_finder_2gff.nf +++ b/modules/MGEs/integron_finder_2gff.nf @@ -12,13 +12,13 @@ process INTEGRON_FINDER_2GFF { script: def args = task.ext.args ?: '' """ + # fix 0-based sequences + sed 's/0\\.\\./1\\.\\./g' $gbk > fixed.gbk + # convert to gff if available - touch ${prefix}_integrons.gff ; - for gbk in \$(ls *.gbk) ; do - conda run -n perl bp_genbank2gff3 \$gbk -o - | \ - grep 'integron_id' | \ - sed 's|ID=.*integron_id=|ID=|g' | \ - sed 's/GenBank/Integron_Finder/g' >> ${prefix}_integrons.gff - done + conda run -n perl bp_genbank2gff3 fixed.gbk -o - | \ + grep 'integron_id' | \ + sed 's|ID=.*integron_id=|ID=|g' | \ + sed 's/GenBank/Integron_Finder/g' >> ${prefix}_integrons.gff """ } From 61c3ba596f4e7122f4a753764768c0aa9e0e5ba2 Mon Sep 17 00:00:00 2001 From: fmalmeida Date: Wed, 7 Feb 2024 12:46:26 +0100 Subject: [PATCH 19/42] fix backslash escapes --- modules/MGEs/integron_finder_2gff.nf | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/MGEs/integron_finder_2gff.nf b/modules/MGEs/integron_finder_2gff.nf index 263ddda3..6a64b91a 100644 --- a/modules/MGEs/integron_finder_2gff.nf +++ b/modules/MGEs/integron_finder_2gff.nf @@ -16,9 +16,9 @@ process INTEGRON_FINDER_2GFF { sed 's/0\\.\\./1\\.\\./g' $gbk > fixed.gbk # convert to gff if available - conda run -n perl bp_genbank2gff3 fixed.gbk -o - | \ - grep 'integron_id' | \ - sed 's|ID=.*integron_id=|ID=|g' | \ + conda run -n perl bp_genbank2gff3 fixed.gbk -o - | \\ + grep 'integron_id' | \\ + sed 's|ID=.*integron_id=|ID=|g' | \\ sed 's/GenBank/Integron_Finder/g' >> ${prefix}_integrons.gff """ } From 757eb784d87870b6ea54f0cd3ebe2d4952d836cd Mon Sep 17 00:00:00 2001 From: fmalmeida Date: Wed, 7 Feb 2024 12:52:26 +0100 Subject: [PATCH 20/42] update versions --- .zenodo.json | 2 +- markdown/CHANGELOG.md | 4 ++++ nextflow.config | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.zenodo.json b/.zenodo.json index 3865b55a..67a52e61 100644 --- a/.zenodo.json +++ b/.zenodo.json @@ -2,7 +2,7 @@ "description": "

      The pipeline

      \n\n

      bacannot, is a customisable, easy to use, pipeline that uses state-of-the-art software for comprehensively annotating prokaryotic genomes having only Docker and Nextflow as dependencies. It is able to annotate and detect virulence and resistance genes, plasmids, secondary metabolites, genomic islands, prophages, ICEs, KO, and more, while providing nice an beautiful interactive documents for results exploration.

      ", "license": "other-open", "title": "fmalmeida/bacannot: A generic but comprehensive bacterial annotation pipeline", - "version": "v3.3", + "version": "v3.3.2", "upload_type": "software", "creators": [ { diff --git a/markdown/CHANGELOG.md b/markdown/CHANGELOG.md index 17d2c229..6cd7b65d 100644 --- a/markdown/CHANGELOG.md +++ b/markdown/CHANGELOG.md @@ -2,6 +2,10 @@ The tracking for changes started in v2.1 +## v3.3.2 [TBD] + +* [[#116](https://github.com/fmalmeida/bacannot/issues/116)] -- Small update to avoid having `integron_finder` gbks with start position as 0, since it breaks conversion to gff. + ## v3.3.1 [29-October-2023] * [[#111](https://github.com/fmalmeida/bacannot/issues/111)] -- Updated `falmeida-py` package version to fix problem with missing key for Summary. diff --git a/nextflow.config b/nextflow.config index 11ead557..0f57904a 100644 --- a/nextflow.config +++ b/nextflow.config @@ -108,7 +108,7 @@ manifest { homePage = "https://github.com/fmalmeida/bacannot" mainScript = "main.nf" nextflowVersion = "!>=22.10.1" - version = '3.3' + version = '3.3.2' } // Function to ensure that resource requirements don't go beyond From 94a2f8eb4d50dedfa4ea37cddb7fea5ecbef0720 Mon Sep 17 00:00:00 2001 From: Felipe Marques de Almeida Date: Thu, 8 Feb 2024 09:48:14 +0000 Subject: [PATCH 21/42] small update on sed, so that only starting positions which are 0 are changed to 1 and avoid changing 100..xxx to 101..xxx --- modules/MGEs/integron_finder_2gff.nf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/MGEs/integron_finder_2gff.nf b/modules/MGEs/integron_finder_2gff.nf index 6a64b91a..f314c748 100644 --- a/modules/MGEs/integron_finder_2gff.nf +++ b/modules/MGEs/integron_finder_2gff.nf @@ -13,7 +13,7 @@ process INTEGRON_FINDER_2GFF { def args = task.ext.args ?: '' """ # fix 0-based sequences - sed 's/0\\.\\./1\\.\\./g' $gbk > fixed.gbk + sed -e 's/ 0\\.\\./ 1\\.\\./g' -e 's/complement(0\\.\\./complement(1\\.\\./g' $gbk > fixed.gbk # convert to gff if available conda run -n perl bp_genbank2gff3 fixed.gbk -o - | \\ From 1a434c7a5d6d7a17f42c23c6e906ec8ca45c459e Mon Sep 17 00:00:00 2001 From: fmalmeida Date: Thu, 8 Feb 2024 17:35:01 +0100 Subject: [PATCH 22/42] Update CHANGELOG.md --- markdown/CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/CHANGELOG.md b/markdown/CHANGELOG.md index 6cd7b65d..8b7d06e0 100644 --- a/markdown/CHANGELOG.md +++ b/markdown/CHANGELOG.md @@ -2,7 +2,7 @@ The tracking for changes started in v2.1 -## v3.3.2 [TBD] +## v3.3.2 [09-February-2024] * [[#116](https://github.com/fmalmeida/bacannot/issues/116)] -- Small update to avoid having `integron_finder` gbks with start position as 0, since it breaks conversion to gff. From 6975eacaf63ef5235a13ff34c1df4f0c16317ab2 Mon Sep 17 00:00:00 2001 From: fmalmeida Date: Tue, 20 Feb 2024 21:57:15 +0100 Subject: [PATCH 23/42] update version --- .zenodo.json | 2 +- markdown/CHANGELOG.md | 6 ++++++ nextflow.config | 2 +- 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/.zenodo.json b/.zenodo.json index 67a52e61..cade7500 100644 --- a/.zenodo.json +++ b/.zenodo.json @@ -2,7 +2,7 @@ "description": "

      The pipeline

      \n\n

      bacannot, is a customisable, easy to use, pipeline that uses state-of-the-art software for comprehensively annotating prokaryotic genomes having only Docker and Nextflow as dependencies. It is able to annotate and detect virulence and resistance genes, plasmids, secondary metabolites, genomic islands, prophages, ICEs, KO, and more, while providing nice an beautiful interactive documents for results exploration.

      ", "license": "other-open", "title": "fmalmeida/bacannot: A generic but comprehensive bacterial annotation pipeline", - "version": "v3.3.2", + "version": "v3.3.3", "upload_type": "software", "creators": [ { diff --git a/markdown/CHANGELOG.md b/markdown/CHANGELOG.md index 8b7d06e0..b6593da6 100644 --- a/markdown/CHANGELOG.md +++ b/markdown/CHANGELOG.md @@ -2,6 +2,12 @@ The tracking for changes started in v2.1 +## v3.3.3 [TBD] + +* [[#118](https://github.com/fmalmeida/bacannot/issues/116)] + * Add a parameter to allow user to skip `INTEGRON_FINDER` execution. + * Add a parameter to allow user to skip `CIRCOS` execution. + ## v3.3.2 [09-February-2024] * [[#116](https://github.com/fmalmeida/bacannot/issues/116)] -- Small update to avoid having `integron_finder` gbks with start position as 0, since it breaks conversion to gff. diff --git a/nextflow.config b/nextflow.config index 0f57904a..2432cac8 100644 --- a/nextflow.config +++ b/nextflow.config @@ -108,7 +108,7 @@ manifest { homePage = "https://github.com/fmalmeida/bacannot" mainScript = "main.nf" nextflowVersion = "!>=22.10.1" - version = '3.3.2' + version = '3.3.3' } // Function to ensure that resource requirements don't go beyond From 15f94a2ae51e0b0117ecf9e1cc3c8afe5b5dbb55 Mon Sep 17 00:00:00 2001 From: fmalmeida Date: Tue, 20 Feb 2024 21:57:37 +0100 Subject: [PATCH 24/42] add new params add parameters to skip the INTEGRON_FINDER and CIRCOS modules when desired. --- conf/defaults.config | 6 ++++++ nextflow_schema.json | 12 ++++++++++++ workflows/bacannot.nf | 45 ++++++++++++++++++++++++------------------- 3 files changed, 43 insertions(+), 20 deletions(-) diff --git a/conf/defaults.config b/conf/defaults.config index 0d43fe48..5a0d0e7d 100644 --- a/conf/defaults.config +++ b/conf/defaults.config @@ -122,6 +122,12 @@ params { // (NOT RUN?) antiSMASH (secondary metabolite) annotation skip_antismash = false +// (NOT RUN?) integron finder tool + skip_integron_finder = false + +// (NOT RUN?) CIRCOS tool + skip_icircos = false + /* * Custom databases can be used to annotate additional genes in the genome. * It runs a BLAST alignment against the genome, therefore, the custom database diff --git a/nextflow_schema.json b/nextflow_schema.json index e95d3c34..8dc7aefa 100644 --- a/nextflow_schema.json +++ b/nextflow_schema.json @@ -132,6 +132,12 @@ "help_text": "If true, the process will be skipped!", "hidden": true }, + "skip_circos": { + "type": "boolean", + "description": "Skip (do not run) circos?", + "help_text": "If true, the process will be skipped!", + "hidden": true + }, "skip_plasmid_search": { "type": "boolean", "description": "Skip (do not run) plasmidfinder?", @@ -156,6 +162,12 @@ "help_text": "If true, the process will be skipped!", "hidden": true }, + "skip_integron_finder": { + "type": "boolean", + "description": "Skip (do not run) integron finder?", + "help_text": "If true, the process will be skipped!", + "hidden": true + }, "skip_prophage_search": { "type": "boolean", "description": "Skip (do not run) prophage annotation?", diff --git a/workflows/bacannot.nf b/workflows/bacannot.nf index 93087adf..344556ac 100644 --- a/workflows/bacannot.nf +++ b/workflows/bacannot.nf @@ -140,8 +140,13 @@ workflow BACANNOT { ISLANDPATH( annotation_out_ch.gbk ) // Integron_finder software - INTEGRON_FINDER( annotation_out_ch.genome ) - INTEGRON_FINDER_2GFF( INTEGRON_FINDER.out.gbk ) + if (!params.skip_integron_finder) { + INTEGRON_FINDER( annotation_out_ch.genome ) + INTEGRON_FINDER_2GFF( INTEGRON_FINDER.out.gbk ) + ch_integron_finder_gff = INTEGRON_FINDER_2GFF.out.gff + } else { + ch_integron_finder_gff = Channel.empty() + } // Virulence search if (params.skip_virulence_search == false) { @@ -300,7 +305,7 @@ workflow BACANNOT { .join(phast_output_ch, remainder: true) .join(DIGIS.out.gff, remainder: true) .join(ch_custom_annotations, remainder: true) - .join(INTEGRON_FINDER_2GFF.out.gff, remainder: true) + .join(ch_integron_finder_gff, remainder: true) ) /* @@ -340,7 +345,7 @@ workflow BACANNOT { .join( MERGE_ANNOTATIONS.out.digis_gff ) .join( antismash_output_ch, remainder: true ) .join( MERGE_ANNOTATIONS.out.customdb_gff.groupTuple(), remainder: true ) - .join( INTEGRON_FINDER_2GFF.out.gff, remainder: true ) + .join( ch_integron_finder_gff, remainder: true ) ) // Render reports @@ -376,7 +381,7 @@ workflow BACANNOT { .join( DRAW_GIS.out.example, remainder: true ) .join( phast_output_ch, remainder: true ) .join( MERGE_ANNOTATIONS.out.digis_gff ) - .join( INTEGRON_FINDER_2GFF.out.gff, remainder: true ) + .join( ch_integron_finder_gff, remainder: true ) ) // @@ -405,7 +410,7 @@ workflow BACANNOT { .join( DIGIS.out.all , remainder: true ) .join( antismash_all_ch , remainder: true ) .join( MERGE_ANNOTATIONS.out.all , remainder: true ) - .join( INTEGRON_FINDER_2GFF.out.gff, remainder: true ) + .join( ch_integron_finder_gff , remainder: true ) .join( mobsuite_output_ch , remainder: true ) ) MERGE_SUMMARIES( @@ -413,19 +418,19 @@ workflow BACANNOT { ) // Render circos plots - circos_input_ch = - annotation_out_ch.genome - .join( annotation_out_ch.gff , remainder: true ) - .join( MERGE_ANNOTATIONS.out.gff, remainder: true ) - .join( PHISPY.out.gff , remainder: true ) - .map{ - it -> - sample = it[0] - it.remove(0) - [ sample, it ] - } - CIRCOS( - circos_input_ch - ) + if (!params.skip_circos) { + circos_input_ch = + annotation_out_ch.genome + .join( annotation_out_ch.gff , remainder: true ) + .join( MERGE_ANNOTATIONS.out.gff, remainder: true ) + .join( PHISPY.out.gff , remainder: true ) + .map{ + it -> + sample = it[0] + it.remove(0) + [ sample, it ] + } + CIRCOS( circos_input_ch ) + } } From 2670dd97225735f2ce11ba1cf52b32004235cbb8 Mon Sep 17 00:00:00 2001 From: Felipe Marques de Almeida Date: Thu, 22 Feb 2024 15:40:19 +0000 Subject: [PATCH 25/42] add documentation on new parameters --- docs/manual.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/manual.md b/docs/manual.md index e42c1227..1a2b1df3 100644 --- a/docs/manual.md +++ b/docs/manual.md @@ -96,6 +96,8 @@ The use of this parameter sets a default value for input samples. If a sample ha | `--skip_prophage_search` | :material-close: | false | Tells whether not to run prophage annotation modules | | `--skip_kofamscan` | :material-close: | false | Tells whether not to run KEGG orthology (KO) annotation with KofamScan | | `--skip_antismash` | :material-close: | false | Tells whether or not to run antiSMASH (secondary metabolite) annotation. AntiSMASH is executed using only its core annotation modules in order to keep it fast. | +| `--skip_circos` | :material-close: | false | Tells whether or not to run the final `CIRCOS` module. When the input genome has many contigs, its results are not meaningful. | +| `--skip_integron_finder` | :material-close: | false | Tells whether or not to run the integron finder tool. | ## Custom databases From 89c5cbe873a3de425c56c5aac80b38a6cd6fdba2 Mon Sep 17 00:00:00 2001 From: Felipe Marques de Almeida Date: Thu, 22 Feb 2024 15:41:18 +0000 Subject: [PATCH 26/42] fix typo --- conf/defaults.config | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conf/defaults.config b/conf/defaults.config index 5a0d0e7d..4bce1ca8 100644 --- a/conf/defaults.config +++ b/conf/defaults.config @@ -126,7 +126,7 @@ params { skip_integron_finder = false // (NOT RUN?) CIRCOS tool - skip_icircos = false + skip_circos = false /* * Custom databases can be used to annotate additional genes in the genome. From d0741d60e8532c9991fe5d811be818b86bef0cd5 Mon Sep 17 00:00:00 2001 From: Felipe Almeida Date: Wed, 6 Mar 2024 12:37:39 -0300 Subject: [PATCH 27/42] fix code so that it also runs for singularity --- conf/docker.config | 1 + conf/singularity.config | 12 ++++++++---- modules/bacannot_dbs/antismash.nf | 26 +++++++++++++++++++++++++- nextflow.config | 2 +- 4 files changed, 35 insertions(+), 6 deletions(-) diff --git a/conf/docker.config b/conf/docker.config index 8ad97a72..507d23dc 100644 --- a/conf/docker.config +++ b/conf/docker.config @@ -4,6 +4,7 @@ docker { enabled = true runOptions = '--platform linux/amd64 -u root:$(id -g)' } +params.running_engine = 'docker' /* diff --git a/conf/singularity.config b/conf/singularity.config index 57f949cf..802662dd 100644 --- a/conf/singularity.config +++ b/conf/singularity.config @@ -1,9 +1,13 @@ // Container usage and permission -docker.enabled = false -singularity.enabled = true -singularity.runOptions = '--writable-tmpfs -e --no-home -B $PWD' -singularity.autoMounts = true +docker.enabled = false env.SINGULARITY_DISABLE_CACHE = 1 +singularity { + enabled = true + envWhitelist = ['SINGULARITY_TMPDIR'] + autoMounts = true +} +params.running_engine = 'singularity' +// singularity.runOptions = '--writable-tmpfs -e --no-home -B $PWD' /* diff --git a/modules/bacannot_dbs/antismash.nf b/modules/bacannot_dbs/antismash.nf index 5e9b8962..b5b73700 100644 --- a/modules/bacannot_dbs/antismash.nf +++ b/modules/bacannot_dbs/antismash.nf @@ -6,9 +6,33 @@ process ANTISMASH_DB { file("*") script: + def antismash_version='6.1.1' + + if (params.running_engine == 'singularity') + """ + mkdir local-install + export PYTHONUSERBASE=./local-install + export PATH=/opt/conda/envs/antismash/bin:\$PATH + + # install locally so it can download dbs + # singularity has many read-write permissions for this tool + wget https://dl.secondarymetabolites.org/releases/${antismash_version}/antismash-${antismash_version}.tar.gz + tar zxvf antismash-${antismash_version}.tar.gz + python -m pip install --user ./antismash-${antismash_version} + export PYTHONPATH=\$(realpath \$( find ./local-install -name 'site-packages' )) + + # now download it + # download antismash database + ./local-install/bin/download-antismash-databases --database-dir ./ + + # delete it + rm -rf ./local-install ./antismash-${antismash_version} + """ + + else """ # download antismash database export PATH=/opt/conda/envs/antismash/bin:\$PATH - download-antismash-databases --database-dir \$(pwd) + download-antismash-databases --database-dir ./ """ } diff --git a/nextflow.config b/nextflow.config index 2432cac8..b0654f31 100644 --- a/nextflow.config +++ b/nextflow.config @@ -22,7 +22,7 @@ params { get_samplesheet = false validate_params = true show_hidden_params = false - schema_ignore_params = 'enable_conda,monochrome_logs,plaintext_email' + schema_ignore_params = 'enable_conda,monochrome_logs,plaintext_email,running_engine' enable_conda = false monochrome_logs = false From 3fbfc91f0cce6488da6caed9fa9592f976caf85d Mon Sep 17 00:00:00 2001 From: Felipe Almeida Date: Thu, 7 Mar 2024 17:54:41 -0300 Subject: [PATCH 28/42] fixed installation problem for singularity --- docker/misc/Dockerfile | 11 ++--------- modules/resistance/resfinder.nf | 1 + 2 files changed, 3 insertions(+), 9 deletions(-) diff --git a/docker/misc/Dockerfile b/docker/misc/Dockerfile index 844526a9..29b35a6d 100644 --- a/docker/misc/Dockerfile +++ b/docker/misc/Dockerfile @@ -47,7 +47,7 @@ RUN mamba create -y \ -c bioconda -c defaults -c conda-forge -c anaconda -c falmeida \ -n digIS \ --no-channel-priority \ - 'hmmer==3.1b2' 'biopython==1.77' nomkl && \ + 'hmmer==3.1b2' 'biopython==1.75' nomkl && \ mamba clean -afy # Install pip packages @@ -72,6 +72,7 @@ COPY victors_bkp/victors_06-2022.fasta /work/victors.fasta RUN mamba create -y -n resfinder \ -c bioconda -c defaults -c conda-forge -c anaconda -c falmeida \ 'resfinder>=4.1' docopt pandas && \ + chmod 777 -R /opt/conda/envs/resfinder && \ mamba clean -afy # get a copy of digis @@ -79,12 +80,6 @@ RUN git clone -b master https://github.com/janka2012/digIS.git COPY custom_fix_grange_digis.py /work/digIS/src/common/grange.py ENV PATH=/work/digIS:$PATH -# Create env for antismash -RUN mamba create -y -n antismash -c bioconda -c conda-forge \ - 'bioconda::antismash-lite>=6' 'anaconda::flask' 'anaconda::jinja2' 'anaconda::markupsafe' nomkl && \ - rm -rf /opt/conda/envs/antismash/lib/*/site-packages/antismash/databases && \ - mamba clean -afy - # fix bioperl RUN mamba create -n perl -y \ -c bioconda -c conda-forge -c anaconda -c defaults \ @@ -99,5 +94,3 @@ RUN pip3 install zenodo_get # fix permissions RUN chmod 777 -R /work -RUN chmod 777 -R /opt/conda/envs/antismash/lib/**/site-packages/antismash -RUN chmod 777 -R /opt/conda/envs/resfinder \ No newline at end of file diff --git a/modules/resistance/resfinder.nf b/modules/resistance/resfinder.nf index 9b7105e9..017efffa 100644 --- a/modules/resistance/resfinder.nf +++ b/modules/resistance/resfinder.nf @@ -24,6 +24,7 @@ process RESFINDER { """ # activate env source activate resfinder + export PATH=/opt/conda/envs/resfinder/lib/python3.12/site-packages/resfinder/:\$PATH # Run resfinder acquired resistance run_resfinder.py \\ From 39c3d1722892d86c45989d684e85fe68d1e7ffb2 Mon Sep 17 00:00:00 2001 From: Felipe Almeida Date: Fri, 8 Mar 2024 08:45:30 -0300 Subject: [PATCH 29/42] split antismash docker image and modify module to have custom snippet for singularity in order to avoid problems related to read-only filesystem that happens with this tool --- docker/antismash/Dockerfile | 29 +++++++++++++++ docker/antismash/build.sh | 1 + modules/generic/antismash.nf | 70 +++++++++++++++++++++++++++++++++--- 3 files changed, 96 insertions(+), 4 deletions(-) create mode 100644 docker/antismash/Dockerfile create mode 100644 docker/antismash/build.sh diff --git a/docker/antismash/Dockerfile b/docker/antismash/Dockerfile new file mode 100644 index 00000000..3fc621fe --- /dev/null +++ b/docker/antismash/Dockerfile @@ -0,0 +1,29 @@ +FROM nfcore/base +LABEL authors="Felipe Almeida" \ + description="Docker image containing antismash for bacannot" + +# install mamba +RUN conda install \ + -n base -c conda-forge 'mamba=1.5' --yes && \ + conda clean -afy + +# set CONDA_PREFIX +ENV CONDA_PREFIX=/opt/conda + +# install antismash +RUN mamba create -y \ + -n antismash \ + -c bioconda -c conda-forge \ + 'bioconda::antismash-lite==6.1.1' 'anaconda::flask' 'anaconda::jinja2' 'anaconda::markupsafe' emboss nomkl && \ + chmod 777 -R /opt/conda/envs/antismash/lib/**/site-packages/antismash && \ + mamba clean -afy + +# update PATH variable +ENV PATH=/opt/conda/envs/antismash/bin:$PATH + +# install ubuntu packages +RUN apt-get update && apt-get install -y build-essential libtinfo5 libtiff5 libopenjp2-7 + +# fix permissions +WORKDIR /work +RUN chmod 777 -R /work diff --git a/docker/antismash/build.sh b/docker/antismash/build.sh new file mode 100644 index 00000000..51153a5c --- /dev/null +++ b/docker/antismash/build.sh @@ -0,0 +1 @@ +../../bin/build_image.sh $1 diff --git a/modules/generic/antismash.nf b/modules/generic/antismash.nf index 207c12d4..b56df0a5 100644 --- a/modules/generic/antismash.nf +++ b/modules/generic/antismash.nf @@ -6,6 +6,8 @@ process ANTISMASH { tag "${prefix}" label = [ 'misc', 'process_medium' ] + // if (params.running_engine = 'singularity') { runOptions = '--writable-tmpfs -e --no-home -B $PWD' } + input: tuple val(prefix), file(genbank) file(bacannot_db) @@ -18,10 +20,69 @@ process ANTISMASH { script: def gbk_suffix = (params.bakta_db) ? "gbff" : "gbk" def gbk_prefix = "${genbank.baseName}" - "${gbk_suffix}" - """ - # Activate env + def antismash_version='6.1.1' + + if (params.running_engine == 'singularity') + """ + # Get tool version + antismash --version > antismash_version.txt ; + + # activate env + mkdir local-install + export PYTHONUSERBASE=./local-install export PATH=/opt/conda/envs/antismash/bin:\$PATH + + # singularity has many read-write permissions for this tool + wget https://dl.secondarymetabolites.org/releases/${antismash_version}/antismash-${antismash_version}.tar.gz + tar zxvf antismash-${antismash_version}.tar.gz + python -m pip install --user ./antismash-${antismash_version} + export PYTHONPATH=\$(realpath \$( find ./local-install -name 'site-packages' )) + + # Run tool + ./local-install/bin/antismash \\ + --output-dir antiSMASH \\ + --genefinding-tool none \\ + --databases ${bacannot_db}/antismash_db \\ + -c $task.cpus \\ + $genbank ; + + # enter results dir + cd antiSMASH ; + + # produce gff from main results + seqret \\ + -sequence ${gbk_prefix}.gbk \\ + -feature \\ + -fformat genbank \\ + -fopenfile ${gbk_prefix}.gbk \\ + -osformat gff \\ + -osname_outseq ${gbk_prefix} \\ + -auto ; + + # get the locus tags annotated as list + # only when results exist + if ls *region*gbk 1> /dev/null 2>&1; then + + grep \\ + "locus_tag" \\ + *region*gbk | \\ + cut \\ + -f 2 \\ + -d "=" | \\ + tr -d '"' | \\ + sort -u > gene_ids.lst ; + + # subset regions GFF from main GFF for JBrowse + grep \\ + -w \\ + -f gene_ids.lst \\ + ${gbk_prefix}.gff > regions.gff ; + fi + """ + + else + """ # Get tool version antismash --version > antismash_version.txt ; @@ -29,10 +90,10 @@ process ANTISMASH { antismash \\ --output-dir antiSMASH \\ --genefinding-tool none \\ - -c $task.cpus \\ --databases ${bacannot_db}/antismash_db \\ + -c $task.cpus \\ $genbank ; - + # enter results dir cd antiSMASH ; @@ -67,4 +128,5 @@ process ANTISMASH { fi """ + } From 25ad59f558eb23c4f5a487232b6a1e188f72b375 Mon Sep 17 00:00:00 2001 From: Felipe Almeida Date: Fri, 8 Mar 2024 08:51:25 -0300 Subject: [PATCH 30/42] also remove the tar.gz --- modules/bacannot_dbs/antismash.nf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/bacannot_dbs/antismash.nf b/modules/bacannot_dbs/antismash.nf index b5b73700..e554f9ff 100644 --- a/modules/bacannot_dbs/antismash.nf +++ b/modules/bacannot_dbs/antismash.nf @@ -26,7 +26,7 @@ process ANTISMASH_DB { ./local-install/bin/download-antismash-databases --database-dir ./ # delete it - rm -rf ./local-install ./antismash-${antismash_version} + rm -rf ./local-install ./antismash-${antismash_version}* """ else From a91d4e8957ad43e94072c1645b00f352aa2f4cea Mon Sep 17 00:00:00 2001 From: Felipe Almeida Date: Fri, 8 Mar 2024 17:57:07 -0300 Subject: [PATCH 31/42] fix misc image --- docker/misc/Dockerfile | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/docker/misc/Dockerfile b/docker/misc/Dockerfile index 29b35a6d..2d6f10f4 100644 --- a/docker/misc/Dockerfile +++ b/docker/misc/Dockerfile @@ -7,17 +7,20 @@ RUN conda install -n base -c conda-forge 'mamba=1.5' --yes && \ conda clean -afy RUN pip install --upgrade pip +# Install ubuntu packages +RUN apt-get update -y && apt-get install -y samtools libarchive13 build-essential + # Install the conda environment RUN mamba install -y \ -c bioconda -c defaults -c conda-forge -c anaconda -c falmeida \ --no-channel-priority \ - 'python=3.9' \ + 'python>=3.9' \ 'blast>=2.12' \ 'diamond>=2.0.15' \ 'bedtools>=2.30' \ 'kma' \ 'nanopolish' \ - 'biopython==1.78' \ + 'biopython==1.83' \ seqkit \ bioawk \ 'easy_circos==0.4' \ @@ -27,18 +30,16 @@ RUN mamba install -y \ libtiff \ jq && \ mamba clean -afy + +# install my custom scripts RUN git clone https://github.com/fmalmeida/pythonScripts.git && \ cd pythonScripts && \ pip install . && \ falmeida-py --help -# Install samtools -RUN apt-get update -y && apt-get install -y samtools - # Install gff-toolbox RUN git clone https://github.com/fmalmeida/gff-toolbox.git RUN cd gff-toolbox && \ - python3 -m pip install --upgrade pip 'matplotlib==3.7.3' && \ python3 setup.py install && \ gff-toolbox -h @@ -47,7 +48,7 @@ RUN mamba create -y \ -c bioconda -c defaults -c conda-forge -c anaconda -c falmeida \ -n digIS \ --no-channel-priority \ - 'hmmer==3.1b2' 'biopython==1.75' nomkl && \ + 'hmmer==3.1b2' 'biopython==1.77' nomkl && \ mamba clean -afy # Install pip packages @@ -87,7 +88,7 @@ RUN mamba create -n perl -y \ RUN mamba run -n perl PERL5LIB= PERL_LOCAL_LIB_ROOT= cpanm Bio::Root::RootI # fix python -RUN python3 -m pip install cryptography==38.0.4 +RUN python3 -m pip install cryptography==38.0.4 'biopython==1.83' 'matplotlib==3.7.3' # install get zenodo RUN pip3 install zenodo_get From b7564089d76894b9336ff4c63021411c11222465 Mon Sep 17 00:00:00 2001 From: Felipe Almeida Date: Fri, 8 Mar 2024 17:57:48 -0300 Subject: [PATCH 32/42] update used docker images --- conf/docker.config | 10 ++++++++-- conf/singularity.config | 10 ++++++++-- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/conf/docker.config b/conf/docker.config index 507d23dc..fe8600f3 100644 --- a/conf/docker.config +++ b/conf/docker.config @@ -19,7 +19,7 @@ process { // Custom pipeline's containers with various tools for general purposes // withLabel: 'db_download|db_tools|misc' { - container = 'fmalmeida/bacannot@sha256:0648797837cd8e11b6abd40745cafc0db81647953921ec54ce0ceef9ecef6450' + container = 'fmalmeida/bacannot@sha256:bdb31637cacf99736656ab3b69f1f01ba1b5eb026771d5c266b4c84e96153057' } // container for R tools @@ -32,10 +32,16 @@ process { container = 'fmalmeida/bacannot@sha256:0ec3b289d6e0c624556d125b2ed9b63499178e266a315175fd87cf020a402898' } + // container for jbrowser withLabel: 'jbrowse' { container = 'fmalmeida/bacannot@sha256:6afdca17b561bf212c1f976422aee3fe047563c32a15112a6262556d1f75201e' } + // container for antismash + withName: 'ANTISMASH|ANTISMASH_DB' { + container = 'fmalmeida/bacannot@sha256:fe42fbbfb7d4a026dafb146cb533ee7f1d9a97b25ec6df64840796c343707ebb' + } + // // Public containers used within the pipeline // @@ -96,7 +102,7 @@ process { } withName: PHIGARO { - container = "quay.io/biocontainers/phigaro:2.3.0--pyh7b7c402_0" + container = "quay.io/biocontainers/phigaro:2.4.0--pyhdfd78af_0" } withName: PHISPY { diff --git a/conf/singularity.config b/conf/singularity.config index 802662dd..e57ebeac 100644 --- a/conf/singularity.config +++ b/conf/singularity.config @@ -22,7 +22,7 @@ process { // Custom pipeline's containers with various tools for general purposes // withLabel: 'db_download|db_tools|misc' { - container = 'docker://fmalmeida/bacannot@sha256:0648797837cd8e11b6abd40745cafc0db81647953921ec54ce0ceef9ecef6450' + container = 'docker://fmalmeida/bacannot@sha256:bdb31637cacf99736656ab3b69f1f01ba1b5eb026771d5c266b4c84e96153057' } // container for R tools @@ -35,10 +35,16 @@ process { container = 'docker://fmalmeida/bacannot@sha256:0ec3b289d6e0c624556d125b2ed9b63499178e266a315175fd87cf020a402898' } + // container for jbrowser withLabel: 'jbrowse' { container = 'docker://fmalmeida/bacannot@sha256:6afdca17b561bf212c1f976422aee3fe047563c32a15112a6262556d1f75201e' } + // container for antismash + withName: 'ANTISMASH|ANTISMASH_DB' { + container = 'docker://fmalmeida/bacannot@sha256:fe42fbbfb7d4a026dafb146cb533ee7f1d9a97b25ec6df64840796c343707ebb' + } + // // Public containers used within the pipeline // @@ -100,7 +106,7 @@ process { } withName: PHIGARO { - container = "https://depot.galaxyproject.org/singularity/phigaro:2.3.0--pyh7b7c402_0" + container = "https://depot.galaxyproject.org/singularity/phigaro:2.4.0--pyhdfd78af_0" } withName: PHISPY { From b9b9b69b1566417b70aca888b56a84adfc373922 Mon Sep 17 00:00:00 2001 From: Felipe Almeida Date: Fri, 8 Mar 2024 17:58:39 -0300 Subject: [PATCH 33/42] update docker image --- docs/installation.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/installation.md b/docs/installation.md index 81453f9d..753ed60b 100644 --- a/docs/installation.md +++ b/docs/installation.md @@ -29,7 +29,7 @@ The images are defined like the following: ```bash ... withLabel: 'db_download|db_tools|misc' { - container = 'fmalmeida/bacannot@sha256:0648797837cd8e11b6abd40745cafc0db81647953921ec54ce0ceef9ecef6450' + container = 'fmalmeida/bacannot@sha256:bdb31637cacf99736656ab3b69f1f01ba1b5eb026771d5c266b4c84e96153057' } ... ``` @@ -37,7 +37,7 @@ withLabel: 'db_download|db_tools|misc' { And could be downloaded like this: ```bash -docker pull fmalmeida/bacannot@sha256:0648797837cd8e11b6abd40745cafc0db81647953921ec54ce0ceef9ecef6450 +docker pull fmalmeida/bacannot@sha256:bdb31637cacf99736656ab3b69f1f01ba1b5eb026771d5c266b4c84e96153057 ``` > You would need to do it for each image. From a68d260f5fd7e384deea6ee2ff5c101da5c60321 Mon Sep 17 00:00:00 2001 From: Felipe Almeida Date: Fri, 8 Mar 2024 17:58:50 -0300 Subject: [PATCH 34/42] update module --- modules/MGEs/digIS.nf | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/modules/MGEs/digIS.nf b/modules/MGEs/digIS.nf index 665abf60..a1ad29aa 100644 --- a/modules/MGEs/digIS.nf +++ b/modules/MGEs/digIS.nf @@ -18,14 +18,8 @@ process DIGIS { script: """ - # activate env - source activate digIS - # run digIS - python3 \$(which digIS_search.py) -i $genome -g $genbank -o digIS - - # deactivate env - conda deactivate + conda run -n digIS python3 \$(which digIS_search.py) -i $genome -g $genbank -o digIS # parse digIS to get nucleotide and aminoacide # also put ids in uppercase From 19dd1fcef4d5909bad83da563b066a53bc37740a Mon Sep 17 00:00:00 2001 From: Felipe Marques de Almeida Date: Sat, 9 Mar 2024 10:32:52 +0000 Subject: [PATCH 35/42] try again to use auto-tests --- .github/workflows/build_kofamscan.yml | 45 ---------------- .github/workflows/test_pr_docker.yml | 65 ++++++++++++----------- .github/workflows/test_pr_singularity.yml | 41 -------------- 3 files changed, 35 insertions(+), 116 deletions(-) delete mode 100644 .github/workflows/build_kofamscan.yml delete mode 100644 .github/workflows/test_pr_singularity.yml diff --git a/.github/workflows/build_kofamscan.yml b/.github/workflows/build_kofamscan.yml deleted file mode 100644 index a7cf5947..00000000 --- a/.github/workflows/build_kofamscan.yml +++ /dev/null @@ -1,45 +0,0 @@ -name: build-kofamscan - -on: - workflow_dispatch: - schedule: - - cron: '0 0 1 */6 *' - -jobs: - - build: - runs-on: ubuntu-latest - env: - DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }} - DOCKERHUB_PASS: ${{ secrets.DOCKERHUB_PASS }} - steps: - - id: keydb - uses: pozetroninc/github-action-get-latest-release@master - with: - owner: fmalmeida - repo: bacannot - excludes: prerelease, draft - - - name: Check out pipeline code - uses: actions/checkout@v2 - - - name: download github repo - run: | - git clone https://github.com/fmalmeida/bacannot.git - - - name: Build and push docker image - id: buildx - run: | - # get more space - sudo rm -rf /usr/local/lib/android # will release about 10 GB if you don't need Android - sudo rm -rf /usr/share/dotnet # will release about 20GB if you don't need .NET - - # enter docker dir - cd bacannot/docker - - # login to docker - docker login -u "$DOCKERHUB_USERNAME" -p "$DOCKERHUB_PASS" - - # create image - docker build -t fmalmeida/bacannot:kofamscan_teste -f Dockerfile_kofamscan . - docker push fmalmeida/bacannot:kofamscan_teste diff --git a/.github/workflows/test_pr_docker.yml b/.github/workflows/test_pr_docker.yml index c6ebe0ae..9a643ffa 100644 --- a/.github/workflows/test_pr_docker.yml +++ b/.github/workflows/test_pr_docker.yml @@ -1,39 +1,44 @@ name: Testing new PR with docker on: pull_request: - branches: master - types: [ ready_for_review, synchronize, reopened ] + branches: [master, dev] + types: [ ready_for_review, opened, synchronize, reopened ] jobs: run_nextflow: name: Run pipeline for the upcoming PR runs-on: ubuntu-latest - env: - DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }} - DOCKERHUB_PASS: ${{ secrets.DOCKERHUB_PASS }} - + steps: - - - name: Check out pipeline code - uses: actions/checkout@v2 - - - name: Install Nextflow - env: - CAPSULE_LOG: none - run: | - wget -qO- get.nextflow.io | bash - sudo mv nextflow /usr/local/bin/ - - - name: Clean environment - run: | - sudo rm -rf /usr/local/lib/android # will release about 10 GB if you don't need Android - sudo rm -rf /usr/share/dotnet # will release about 20GB if you don't need .NET - - - name: Build bacannot database - run: | - nextflow run main.nf -profile docker --get_dbs --output bacannot_dbs --max_cpus 2 --max_memory '6.GB' --max_time '6.h' - rm -rf bacannot_dbs/antismash_db bacannot_dbs/kofamscan_db bacannot_dbs/prokka_db/PGAP_NCBI.hmm # remove unused in quicktest to diminish size - - - name: Run the pipeline - run: | - nextflow run main.nf -profile docker,quicktest --bacannot_db bacannot_dbs + + - name: Check out pipeline code + uses: actions/checkout@v2 + + - name: Install Nextflow + env: + CAPSULE_LOG: none + run: | + wget -qO- get.nextflow.io | bash + sudo mv nextflow /usr/local/bin/ + + - name: Clean environment + run: | + sudo rm -rf /usr/local/lib/android # will release about 10 GB if you don't need Android + sudo rm -rf /usr/share/dotnet # will release about 20GB if you don't need .NET + + - name: Get database + run: | + nextflow run main.nf -profile docker --get_zenodo_db ./zenodo_db --max_memory '6.GB' --max_cpus 2 + sudo rm -r work .nextflow* + yes | docker system prune + + - name: Run quicktest profile + run: | + nextflow run main.nf -profile docker,quicktest --bacannot_db $( realpath ./zenodo_db/bac* ) --output ./results --max_memory '6.GB' --max_cpus 2 + sudo rm -r work .nextflow* + yes | docker system prune + + - name: View results + run: | + sudo apt-get install -y tree + tree ./results diff --git a/.github/workflows/test_pr_singularity.yml b/.github/workflows/test_pr_singularity.yml deleted file mode 100644 index b8bd776c..00000000 --- a/.github/workflows/test_pr_singularity.yml +++ /dev/null @@ -1,41 +0,0 @@ -name: Testing new PR with singularity -on: - pull_request: - branches: [ master, dev, develop ] - types: [ ready_for_review, synchronize, reopened ] - -jobs: - run_nextflow: - name: Run pipeline for the upcoming PR - runs-on: ubuntu-latest - - steps: - - - name: Check out pipeline code - uses: actions/checkout@v2 - - - name: Install Nextflow - env: - CAPSULE_LOG: none - run: | - wget -qO- get.nextflow.io | bash - sudo mv nextflow /usr/local/bin/ - - - name: Install Singularity - uses: eWaterCycle/setup-singularity@v7 - with: - singularity-version: 3.8.3 - - - name: Clean environment - run: | - sudo rm -rf /usr/local/lib/android # will release about 10 GB if you don't need Android - sudo rm -rf /usr/share/dotnet # will release about 20GB if you don't need .NET - - - name: Build bacannot database - run: | - nextflow run main.nf -profile singularity --get_dbs --output bacannot_dbs --max_cpus 2 --max_memory '6.GB' --max_time '6.h' - rm -rf bacannot_dbs/antismash_db bacannot_dbs/kofamscan_db bacannot_dbs/prokka_db/PGAP_NCBI.hmm # remove unused in quicktest to diminish size - - - name: Run the pipeline - run: | - nextflow run main.nf -profile singularity,quicktest --bacannot_db bacannot_dbs From dd0c344de704998aa7f5da573646754258251a3a Mon Sep 17 00:00:00 2001 From: Felipe Marques de Almeida Date: Sat, 9 Mar 2024 10:34:08 +0000 Subject: [PATCH 36/42] simplify types --- .github/workflows/test_pr_docker.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test_pr_docker.yml b/.github/workflows/test_pr_docker.yml index 9a643ffa..f7863fdd 100644 --- a/.github/workflows/test_pr_docker.yml +++ b/.github/workflows/test_pr_docker.yml @@ -2,7 +2,7 @@ name: Testing new PR with docker on: pull_request: branches: [master, dev] - types: [ ready_for_review, opened, synchronize, reopened ] + types: [ opened, synchronize, reopened ] jobs: run_nextflow: From 126d37f76b1009ce09edb8cafeb5e34499d6b95b Mon Sep 17 00:00:00 2001 From: Felipe Marques de Almeida Date: Sat, 9 Mar 2024 10:40:28 +0000 Subject: [PATCH 37/42] update changelog --- markdown/CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/markdown/CHANGELOG.md b/markdown/CHANGELOG.md index b6593da6..efb8ed72 100644 --- a/markdown/CHANGELOG.md +++ b/markdown/CHANGELOG.md @@ -7,6 +7,7 @@ The tracking for changes started in v2.1 * [[#118](https://github.com/fmalmeida/bacannot/issues/116)] * Add a parameter to allow user to skip `INTEGRON_FINDER` execution. * Add a parameter to allow user to skip `CIRCOS` execution. +* Split antismash docker image, and added some snippets to fix some workarounds to allow pipeline to run with singularity ## v3.3.2 [09-February-2024] From 696ab3004d8d3c7dbf7934d35d72c3081e239a34 Mon Sep 17 00:00:00 2001 From: Felipe Marques de Almeida Date: Sat, 9 Mar 2024 11:10:18 +0000 Subject: [PATCH 38/42] fix cli --- .github/workflows/test_pr_docker.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test_pr_docker.yml b/.github/workflows/test_pr_docker.yml index f7863fdd..6eb23f99 100644 --- a/.github/workflows/test_pr_docker.yml +++ b/.github/workflows/test_pr_docker.yml @@ -28,7 +28,7 @@ jobs: - name: Get database run: | - nextflow run main.nf -profile docker --get_zenodo_db ./zenodo_db --max_memory '6.GB' --max_cpus 2 + nextflow run main.nf -profile docker --get_zenodo_db --output ./zenodo_db --max_memory '6.GB' --max_cpus 2 sudo rm -r work .nextflow* yes | docker system prune From 80d34abbc70e833e347a15de210ab7d42f97f516 Mon Sep 17 00:00:00 2001 From: Felipe Marques de Almeida Date: Sat, 9 Mar 2024 12:20:30 +0000 Subject: [PATCH 39/42] it fails to publish, lets resume --- .github/workflows/test_pr_docker.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test_pr_docker.yml b/.github/workflows/test_pr_docker.yml index 6eb23f99..24f9f90d 100644 --- a/.github/workflows/test_pr_docker.yml +++ b/.github/workflows/test_pr_docker.yml @@ -28,13 +28,15 @@ jobs: - name: Get database run: | - nextflow run main.nf -profile docker --get_zenodo_db --output ./zenodo_db --max_memory '6.GB' --max_cpus 2 + nextflow run main.nf -profile docker --get_zenodo_db --output ./ --max_memory '6.GB' --max_cpus 2 + nextflow run main.nf -profile docker --get_zenodo_db --output ./ --max_memory '6.GB' --max_cpus 2 -resume + nextflow run main.nf -profile docker --get_zenodo_db --output ./ --max_memory '6.GB' --max_cpus 2 -resume sudo rm -r work .nextflow* yes | docker system prune - name: Run quicktest profile run: | - nextflow run main.nf -profile docker,quicktest --bacannot_db $( realpath ./zenodo_db/bac* ) --output ./results --max_memory '6.GB' --max_cpus 2 + nextflow run main.nf -profile docker,quicktest --bacannot_db $( realpath ./bac* ) --output ./results --max_memory '6.GB' --max_cpus 2 sudo rm -r work .nextflow* yes | docker system prune From 74f5100d99b157ccbb922731b2aa9b898c58d642 Mon Sep 17 00:00:00 2001 From: Felipe Marques de Almeida Date: Mon, 11 Mar 2024 07:56:54 +0000 Subject: [PATCH 40/42] add better information on singularity variables --- docs/installation.md | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/docs/installation.md b/docs/installation.md index 753ed60b..2bc4a5fa 100644 --- a/docs/installation.md +++ b/docs/installation.md @@ -52,7 +52,16 @@ docker pull fmalmeida/bacannot@sha256:bdb31637cacf99736656ab3b69f1f01ba1b5eb0267 # apply this command to each image # just change the "/" and ":" for "-". # E.g. Image fmalmeida/bacannot:v3.3_misc becomes fmalmeida-bacannot-v3.3_misc.img - singularity pull --dir $NXF_SINGULARITY_LIBRARYDIR fmalmeida-bacannot-v3.3_misc.img docker://fmalmeida/bacannot:v3.3_misc + # for singularity --> prepare env variables + # remember to properly set NXF_SINGULARITY_LIBRARYDIR + # read more at https://www.nextflow.io/docs/latest/singularity.html#singularity-docker-hub + export NXF_SINGULARITY_LIBRARYDIR= # Set a path to your singularity storage dir + export NXF_SINGULARITY_CACHEDIR= # Set a path to your singularity cache dir + export SINGULARITY_CACHEDIR= # Set a path to your singularity cache dir + + singularity pull \ + --dir $NXF_SINGULARITY_LIBRARYDIR \ + fmalmeida-bacannot-v3.3_misc.img docker://fmalmeida/bacannot:v3.3_misc ``` ## Bacannot databases @@ -90,9 +99,9 @@ nextflow run fmalmeida/bacannot \ After that, you can run the pipeline with a testing dataset by selecting one of the available profiles: 1. Docker - * `nextflow run fmalmeida/mpgap -profile docker,test` --bacannot_db ./bacannot_dbs + * `nextflow run fmalmeida/mpgap -profile docker,test --bacannot_db ./bacannot_dbs` 2. Singularity - * `nextflow run fmalmeida/mpgap -profile singularity,test` --bacannot_db ./bacannot_dbs + * `nextflow run fmalmeida/mpgap -profile singularity,test --bacannot_db ./bacannot_dbs` !!! note "About NF profiles" From 0cb1b00018e9f42199564af8c0cc93c98563fd2c Mon Sep 17 00:00:00 2001 From: Felipe Marques de Almeida Date: Mon, 11 Mar 2024 10:02:34 +0000 Subject: [PATCH 41/42] fix paths of where versions are stored --- modules/MGEs/integron_finder.nf | 4 ++-- modules/MGEs/mob_suite.nf | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/modules/MGEs/integron_finder.nf b/modules/MGEs/integron_finder.nf index b06fccdf..1cbfc14e 100644 --- a/modules/MGEs/integron_finder.nf +++ b/modules/MGEs/integron_finder.nf @@ -1,7 +1,7 @@ process INTEGRON_FINDER { - publishDir "${params.output}", mode: 'copy', saveAs: { filename -> + publishDir "${params.output}/${prefix}", mode: 'copy', saveAs: { filename -> if (filename.indexOf("_version.txt") > 0) "tools_versioning/$filename" - else "${prefix}/integron_finder/$filename" + else "integron_finder/$filename" } tag "${prefix}" label = [ 'process_medium' ] diff --git a/modules/MGEs/mob_suite.nf b/modules/MGEs/mob_suite.nf index 14256e92..0ae1c3d3 100644 --- a/modules/MGEs/mob_suite.nf +++ b/modules/MGEs/mob_suite.nf @@ -1,7 +1,7 @@ process MOBSUITE { - publishDir "${params.output}", mode: 'copy', saveAs: { filename -> + publishDir "${params.output}/${prefix}", mode: 'copy', saveAs: { filename -> if (filename.indexOf("_version.txt") > 0) "tools_versioning/$filename" - else "${prefix}/plasmids/mob_suite/$filename" + else "plasmids/mob_suite/$filename" } tag "${prefix}" label = [ 'process_medium' ] From 2ff9e2dec70e8d1adf97b13fb88b079f37dd5813 Mon Sep 17 00:00:00 2001 From: Felipe Almeida Date: Mon, 11 Mar 2024 14:25:49 -0300 Subject: [PATCH 42/42] update changelog with date --- markdown/CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/markdown/CHANGELOG.md b/markdown/CHANGELOG.md index efb8ed72..03654f50 100644 --- a/markdown/CHANGELOG.md +++ b/markdown/CHANGELOG.md @@ -2,7 +2,7 @@ The tracking for changes started in v2.1 -## v3.3.3 [TBD] +## v3.3.3 [11-March-2024] * [[#118](https://github.com/fmalmeida/bacannot/issues/116)] * Add a parameter to allow user to skip `INTEGRON_FINDER` execution.