Synteny-aware hmm searches made easy in Python
Project description
Synteny-aware hmm searches made easy
1. :bulb: What is Pynteny?
Pynteny is Python tool to search for synteny blocks in (prokaryotic) sequence data through HMMs of the ORFs of interest and HMMER. By leveraging genomic context information, Pynteny can be employed to decrease the uncertainty of functional annotation of unlabelled sequence data due to the effect of paralogs. Pynteny can be accessed (i) through the command line or (ii) as a Python module.
Get more info in the documentation pages!
Check out the Pynteny paper in the Journal of Open Source Software!
2. :wrench: Setup
Pynteny is a pure-Python package (it no longer requires conda or any external binaries). All dependencies, including the HMMER and Prodigal engines, are provided by the pip packages pyhmmer and pyrodigal.
Install the latest development version directly from GitHub:
pip install git+https://github.com/Robaina/Pynteny.git
Once released on PyPI, Pynteny will also be installable with:
pip install pynteny
Check that the installation worked fine:
pynteny --help
2.1. Installing on Windows
Pynteny is developed and tested on Linux, but since it is now a pure-Python
package, pip install pynteny also works on Windows and macOS (including Apple
Silicon / ARM64), provided wheels are available for pyhmmer and pyrodigal on
your platform.
3. :rocket: Usage
Consider the following toy example of a syntenic block:
Here, we are interested in four genes which colocate according to the pattern above: genes A-C show consecutive locations in the positive strand, followed by three (untargeted) genes and followed by gene D, which is located in the negative strand.
Pynteny can be run either as a command line tool or as a Python module. To run pynteny in the command line, execute:
pynteny <subcommand> <options>
There are a number of available subcommands, which can be explored in the documentation pages.
For intance, to first download the PGAP's database containing a collection of profile HMMs as well as metadata:
pynteny download --outdir data/hmms --unpack
Next, to build a labelled peptide database from DNA assembly data:
pynteny build \
--data assembly.fa \
--outfile labelled_peptides.faa
Finally, to search the peptide database for the syntenic structure displayed above: >gene_A 0 >gene_B 0 >gene_C 3 <gene_D, and using the downloaded PGAP database:
pynteny search \
--synteny_struc ">gene_A 0 >gene_B 0 >gene_C 3 <gene_D" \
--data labelled_peptides.faa \
--outdir results/ \
--gene_ids
4. :notebook_with_decorative_cover: Examples
Here are some Jupyter Notebooks with examples to show how Pynteny works:
You can find more notebooks in the examples directory. Find more info in the documentation.
5. :arrows_counterclockwise: Dependencies
Pynteny would not work without these awesome projects:
Thanks!
6. :octocat: Contributing
Contributions are always welcome! If you don't know where to start, you may find an interesting issue to work in here. Please, read our contribution guidelines first.
7. :black_nib: Citation
If you use this software, please cite it as below:
Semidán Robaina Estévez. (2023). Pynteny: synteny-aware hmm searches made easy (Version 1.0.0). Zenodo. https://zenodo.org/record/7696204
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pynteny-1.2.0.tar.gz.
File metadata
- Download URL: pynteny-1.2.0.tar.gz
- Upload date:
- Size: 37.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
979f77df26715151c9269e2855f803c958a2d32885c4a0993a9c9851ef852fee
|
|
| MD5 |
4cf6e9802574bfeac13d61748ca99523
|
|
| BLAKE2b-256 |
1ac4e6eef8bc8bde8a68f0e701ee493cd9ee600cb58ca9650f5cf80ac9e36774
|
Provenance
The following attestation bundles were made for pynteny-1.2.0.tar.gz:
Publisher:
publish.yml on Robaina/Pynteny
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pynteny-1.2.0.tar.gz -
Subject digest:
979f77df26715151c9269e2855f803c958a2d32885c4a0993a9c9851ef852fee - Sigstore transparency entry: 1870355450
- Sigstore integration time:
-
Permalink:
Robaina/Pynteny@e3b75c5abe7f7bb33ce5ae06e9e5e392af055cb4 -
Branch / Tag:
refs/tags/v1.2.0 - Owner: https://github.com/Robaina
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@e3b75c5abe7f7bb33ce5ae06e9e5e392af055cb4 -
Trigger Event:
release
-
Statement type:
File details
Details for the file pynteny-1.2.0-py3-none-any.whl.
File metadata
- Download URL: pynteny-1.2.0-py3-none-any.whl
- Upload date:
- Size: 42.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
01bb613ad012910390c327307b072d64a43c60ddde2f20122371a7f05bc1ca9a
|
|
| MD5 |
3ff83eadbad8a69460c81c4f1c917ef5
|
|
| BLAKE2b-256 |
6eaf712b95e5f627ccc426c61a9ed33d1eab118f764de2c29e6700aae9ec54d8
|
Provenance
The following attestation bundles were made for pynteny-1.2.0-py3-none-any.whl:
Publisher:
publish.yml on Robaina/Pynteny
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pynteny-1.2.0-py3-none-any.whl -
Subject digest:
01bb613ad012910390c327307b072d64a43c60ddde2f20122371a7f05bc1ca9a - Sigstore transparency entry: 1870355467
- Sigstore integration time:
-
Permalink:
Robaina/Pynteny@e3b75c5abe7f7bb33ce5ae06e9e5e392af055cb4 -
Branch / Tag:
refs/tags/v1.2.0 - Owner: https://github.com/Robaina
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@e3b75c5abe7f7bb33ce5ae06e9e5e392af055cb4 -
Trigger Event:
release
-
Statement type: