Skip to content

Robaina/Pynteny

Repository files navigation

logo

Synteny-aware hmm searches made easy

tests codecov docs

Project Status: Active – The project has reached a stable, usable state and is being actively developed. Anaconda-Server Badge license Contributor Covenant

Bioconda Anaconda-Server Badge

Anaconda-Server Badge python Code style: black

DOI

1. 💡 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, (ii) as a Python module or (iii) as a (locally served) web application.

Get more info in the documentation pages!

2. 🔧 Setup

Install with conda:

  1. Create dedicated conda environment (highly recommended)
conda create -n pynteny
conda activate pynteny
  1. Install pynteny
conda install -c bioconda pynteny
  1. Check that installation worked fine:
pynteny --help

2.1. Installing Pynteny on Windows

Pynteny is designed to run on Linux machines. However, it can be installed within the Windows Subsystem for Linux via conda.

3. 🚀 Usage

Pynteny can be run either as a command line tool or as a (locally-served) web application. To run pynteny in the command line, execute:

conda activate pynteny
pynteny <subcommand> <options>

pynyeny-cli

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: >gene_A 0 >gene_B 0 >gene_C 10 <gene_C, using the donwloaded PGAP database:

pynteny search \
    --synteny_struc ">gene_A 0 >gene_B 0 >gene_C 10 <gene_C" \
    --data labelled_peptides.faa \
    --outdir results/ \
    --gene_ids

Pynteny may also be used with a graphical interface (made with Streamlit). The app is run on a local server in your machine, thus all files are kept locally and the app can be run without an internet connection.

To run the app, execute the following command once pynteny has been successfully installed:

conda activate pynteny
pynteny app

pynyeny-app

4. 📔 Examples

Here are some Jupyter Notebooks with examples to show how Pynteny works:

Open In Colab

You can find more notebooks in the examples directory. We invite you to explore Pynteny's web application by executing the command pynteny app. Find more info in the documentation.

5. 🔄 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. ✒️ Citation

If you use this software, please cite it as below:

Semidán Robaina Estévez. (2022). Pynteny: synteny-aware hmm searches made easy (Version 0.0.4). Zenodo. https://doi.org/10.5281/zenodo.7048685