Skip to main content

PlasmidCC

PlasmidCC is a plasmid classification tool that uses Centrifuge to predict the origin of contigs (plasmid or chromosome).

PlasmidCC is a generalization of PlasmidEC, which uses multiple classification tools to classify plasmids in E. coli isolates.

Table of contents

Installation

An installation of Centrifuge is required to run plasmidCC

We recommend using a conda environment with the centrifuge-core package installed:

conda create --name plasmidCC -c conda-forge -c bioconda centrifuge-core=1.0.4.1 pip
conda activate plasmidCC

Install plasmidCC using pip:

pip install plasmidCC

Verify installation:

plasmidCC --help

Usage

Test run example

plasmidCC -i test/test_ecoli.gfa -o test -n testEcoli -s Escherichia_coli -D

This will use the 'test_ecoli.gfa' file as input (-i), and store output in the 'test' directory (-o) under a new subdirectory named 'testEcoli' (-n). plasmidCC will look for the embedded database of E. coli (-s) and when not found, it will try to download this database (-D).

Input

As input, plasmidCC takes assembled contigs in .fasta format or an assembly graph in .gfa format. Such files can be obtained with Unicycler or SPAdes genome assembler.

Quick usage

Out of the box, plasmidCC can be used to predict plasmid contigs of certain embedded species. Use the --speciesopts flag to see a list of supported species:

plasmidCC --speciesopts
General (warning: general database requires >47GB of availabe RAM)
Escherichia_coli
Enterococcus_faecium
Enterococcus_faecalis
Salmonella_enterica
Staphylococcus_aureus
Acinetobacter_baumannii
Klebsiella_pneumoniae

You can specify which species database to use with the -s flag. For example:

plasmidCC -i test/K_pneumoniae_test.fasta -s Klebsiella_pneumoniae

Other species

It is possible to use plasmidCC for other species. However, a custom Centrifuge database will have to be constructed for the desired species. Instructions on how to do this can be found here. Once constructed, the location and name of your custom database can be supplied to plasmidCC by using the -p flag:

plasmidCC -i test/P_aeruginosa_test.fasta -p databases/my_custom_db

All options

plasmidCC --help
usage: plasmidCC -i INPUT [-o OUTPUT] [-n NAME] (-s SPECIES | -p CUSTOM_DB_PATH) [-l LENGTH]
                 [-t THREADS] [-P PLASMID_CUTOFF] [-C CHROMOSOME_CUTOFF] [-D] [-g] [-f] [-k]
                 [--speciesopts] [-v] [-h]

PlasmidCC: a Centrifuge based plasmid prediction tool

General:
  -i INPUT              input file (.fasta or .gfa)
  -o OUTPUT             Output directory
  -n NAME               Name prefix for output files (default: input file name)
  -s SPECIES            Select an embedded species database. Use --speciesopts for a list of all
                        supported species
  -p CUSTOM_DB_PATH     Path to a custom Centrifuge database (name without file extensions)

Parameters:
  -l LENGTH             Minimum sequence length filter (default: 1000)
  -t THREADS            Number of alignment threads to launch (default: 8)
  -P PLASMID_CUTOFF     Threshold of plasmid fraction to predict contig as plasmid (default: 0.7)
  -C CHROMOSOME_CUTOFF  Threshold of plasmid fraction to predict contig as chromosome (default: 0.3)

Other:
  -D, --download        Download embedded database if not yet downloaded.
                        Embedded databases are stored within the plasmidCC package directory
  -g, --gplas           Write an extra output file that is compatible for use with gplas
  -f, --force           Overwrite existing output if the same name is already used
  -k, --keep            Keep intermediary files

Info:
  --speciesopts         Prints a list of all supported species for the -s flag
  -v, --version         Prints plasmidCC version
  -h, --help            Prints this message

Output Files

plasmids.fasta

Sequences of all contigs predicted to originate from plasmids in FASTA format.

grep '>' test/testEcoli/testEcoli_plasmids.fasta
>S20_LN:i:91233_dp:f:0.5815421095375989
>S32_LN:i:42460_dp:f:0.6016122804021161
>S44_LN:i:21171_dp:f:0.5924640018897323
>S47_LN:i:17888_dp:f:0.5893320957724726
>S50_LN:i:11225_dp:f:0.6758514700227541
>S56_LN:i:6837_dp:f:0.5759570101860518
>S59_LN:i:5519_dp:f:0.5544497698217399
>S67_LN:i:2826_dp:f:0.6746421335091037
>S76_LN:i:1486_dp:f:1.3509551203209675

centrifuge_classified.txt

Table containing the predictions made by Centrifuge, the total nr. of matches, and the final classification for each contig.

head -n 5 test/testEcoli/testEcoli_centrifuge_classified.txt
readID chromosome plasmid unclassified total_matches chromosome_fraction plasmid_fraction final_classification
S80_LN:i:1427_dp:f:0.9617101819819399 2.0 0.0 0 2.0 1.0 0.0 chromosome
S81_LN:i:1343_dp:f:4.494970368199747 117.0 40.0 0 157.0 0.75 0.25 chromosome
S82_LN:i:1253_dp:f:1.182459332915489 1.0 0.0 0 1.0 1.0 0.0 chromosome
S83_LN:i:1242_dp:f:0.9224653122847608 1.0 0.0 0 1.0 1.0 0.0 chromosome
S84_LN:i:1063_dp:f:3.2697611578099566 118.0 33.0 0 151.0 0.78 0.22 chromosome

Compatibility with gplas

gplas is a tool that accurately bins predicted plasmid contigs into individual plasmids.

By using the -g flag, plasmidCC provides an extra output file that can be directly used as input for gplas. See an example below:

plasmidCC -i test/test_ecoli.gfa -o test -n testEcoli -s Escherichia_coli -g
head -n 10 test/testEcoli/testEcoli_gplas.tab
Prob_Chromosome Prob_Plasmid Prediction Contig_name Contig_length
1.0 0.0 Chromosome S10_LN:i:198295_dp:f:0.8919341045340952 198295
1.0 0.0 Chromosome S11_LN:i:173581_dp:f:0.8682632509656248 173581
1.0 0.0 Chromosome S12_LN:i:169985_dp:f:1.0893451820087325 169985
1.0 0.0 Chromosome S13_LN:i:169238_dp:f:1.1143772255735436 169238
1.0 0.0 Chromosome S14_LN:i:135734_dp:f:0.8900147755192753 135734
1.0 0.0 Chromosome S15_LN:i:114916_dp:f:0.8135597349289454 114916
1.0 0.0 Chromosome S16_LN:i:112152_dp:f:0.9565731810452665 112152
1.0 0.0 Chromosome S17_LN:i:107357_dp:f:1.0935311833495955 107357
1.0 0.0 Chromosome S18_LN:i:105440_dp:f:0.9191174721979478 105440

Intermediary files

By default, intermediary files will get deleted at the end of a run. Use the -k flag to keep intermediary files.

centrifuge_results.txt

Raw Centrifuge classification output that is used by plasmidCC to produce the 'centrifuge_classified.txt' output.

summary.txt

Centrifuge report file summarizing details per classification group.

filtered.fasta

Input sequences (-i) filtered for minimum sequence length (-l). This file is used when running Centrifuge.

Contributions

PlasmidCC has been developed with contributions from Lisa Vader, Malbert Rogers, Julian Paganini, Jesse Kerkvliet, Anita Schürch and Oscar Jordan.

Citation

If you use plasmidCC, please cite:

(Citation follows)

Metadata

Release files for plasmidCC 1.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for plasmidCC 1.0.1
File Size Uploaded Provenance
plasmidCC-1.0.1.tar.gz 1.4 MB Without provenance Details

Release files / plasmidCC-1.0.1.tar.gz

Download URL plasmidCC-1.0.1.tar.gz
Size 1.4 MB
Tags Source
SHA-256 checksum
How to use checksums
32fe40de2d7b80994607bfd7744537b60681b7b08962dba664033b77b16deb75
BLAKE2b-256 checksum
How to use checksums
0f090f6e634c4df5dfc7074a33d088f96c42c8448079b2c99632f79ea150a9b3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.12.2

Security for plasmidCC 1.0.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

1.0.1 This release

1 release file No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page