Skip to main content

Build StatusCoverage StatusLicense: MIT PyPI Version Docker Image Version (latest by date)

Icon

EzClermont: The E. coli Clermont PCR phylotyping tool

Description

This is a tool for using the Clermont 2013 PCR typing method for in silico analysis of E. coli whole genomes or assembled contigs.

Changelog

  • bump to version 1.0 in May 2026; modernize install, tests, imports
  • bump to version 0.7 in Nov 2021; add option for logfile instead of stderr messages for workflow compatibility
  • bump to version 0.4 in May 2018; improved handling of partial matches
  • made a webapp on April 19th, 2018 after requests from several to make the tool more user friendly.
  • updated on August 2, 2017 to add reactions that differentiate A/C, D/E/cryptic, and to add more robust tests.
  • released Dec. 2016

Usage

EzClermont can either read in a file or read from stdin.

Try:

ezclermont tests/refs/CP004009.1.fasta

or

cat tests/refs/CP004009.1.fasta | ezclermont - -e "APEC_O78"

or from docker:

docker run  -v $PWD:$PWD --entrypoint python nickp60/ezclermont  /usr/local/bin/ezclermont $PWD/tests/refs/AE005174.2.fasta
usage: ezclermont [-m MIN_LENGTH] [-e EXPERIMENT_NAME] [-n]
                  [--logfile LOGFILE] [-h] [--version]
                  contigs

run a 'PCR' to get Clermont 2013 phylotypes; version 1.0.0

positional arguments:
  contigs               FASTA formatted genome or set of contigs. If reading
                        from stdin, use '-'

optional arguments:
  -m MIN_LENGTH, --min_length MIN_LENGTH
                        minimum contig length to consider.default: 500
  -e EXPERIMENT_NAME, --experiment_name EXPERIMENT_NAME
                        name of experiment; defaults to file name without
                        extension. If reading from stdin, uses the first
                        contig's ID
  -n, --no_partial      If scanning contigs, breaks between contigs could
                        potentially contain your sequence of interest. if
                        --no_partial, these plausible partial matches will NOT
                        be reported; default behaviour is to consider partial
                        hits if the assembly has more than 4 sequnces(ie, no
                        partial matches for complete genomes, allowing for 1
                        chromasome and several plasmids)
  --logfile LOGFILE     send log messages to logfile instead stderr
  -h, --help            Displays this help message
  --version             show program's version number and exit

It prints out the presense or absence of the PCR product to stderr, and the resulting phylotype and experiment name to stdout. It checks the length, accepting fragments that are within 20bp of the expected size. When using --partial, if a single primer has a hit but the contig starts/ends within the length of the expected product size, we call it a hit.

A minimal filename.fasta ClermontType output table can be generated by piping to a results file using a bash loop:

for i in strain1 strain2 strain3;
	do
	  ezclermont ${i} >> results.txt
done

or, using GNU parallel, and saving a log file:

ls ./folder/with/assemblies/*.fa | parallel "ezclermont {} 1>> results.txt  2>> results.log"

Run the webapp

docker run -p 5000:5000 nickp60/ezclermont

Have fun!

Installation

From Pypi

conda create -n ezclermont_env ezclermont
conda activate ezclermont_env

development

conda create -n ez biopython
conda activate ezclermont
git clone https://github.com/nickp60/ezclermont && cd ezclermont
pip install --editable .

Testing

pytest

Requirements

commandline tool

Biopython

webapp

flask biopython

Acknowledgements

Thanks to Dave Gamache for Skeleton, the webapp CSS theme.

Name note

The name of this repo (and pypi package) was changed on April 21 from ClermontPCR to EzClermont.

Release files for ezclermont 1.0.0

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

Source distribution (sdist)

Source distribution for ezclermont 1.0.0
File Size Uploaded
ezclermont-1.0.0.tar.gz 15.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for ezclermont 1.0.0
File Interpreter ABI Platform
ezclermont-1.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 32.7 kB

Release files / ezclermont-1.0.0.tar.gz

Download URL ezclermont-1.0.0.tar.gz
Size 15.4 kB
Tags Source
SHA-256 checksum
How to use checksums
e7497ef728dd2395ec3bb3f81413a047b54bbfd1fbd1f3347b7cf3dad4d703d6
BLAKE2b-256 checksum
How to use checksums
d633ed3692d0e2b8d727dd2499665a37cef4d6397e3349f4a54bbcee10983e02
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on May 5, 2026.

Transparency log

Release files / ezclermont-1.0.0-py3-none-any.whl

Download URL ezclermont-1.0.0-py3-none-any.whl
Size 17.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
5432c0d9527604f63f94f0a112f8553db47ebfba4f50fcfdf4adf551b10d8cf4
BLAKE2b-256 checksum
How to use checksums
cb5c05b87f10f6e2e8b1d829c705d15523ceec3548e56676ae913acbf1320423
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on May 5, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 release files

0.7.0

2 release files

0.6.3

2 release files

0.6.2

1 release file

0.6.1

1 release file

0.5.0

1 release file

0.4.3

1 release file

0.4.2

1 release file

0.4.0

1 release file

0.3.5

1 release file

0.3.4

1 release file

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