Skip to main content

Oligo Designer Toolsuite - Lightweight Development of Custom Oligo Design Pipelines

Docs PyPI PyPI Downloads DOI stars License: MIT

codecov TestUbuntuX64 TestMacOsArm64

Oligonucleotides (abbrev. oligos) are short, synthetic strands of DNA or RNA that are designed with respect to a specific target region and have many application areas, ranging from research to disease diagnosis or therapeutics. Oligos can be used as primers during DNA amplification, as probes for in situ hybridization or as guide RNAs for CRISPR-based gene editing. Based on the intended application and experimental design, researchers have to customize the length, sequence composition, and thermodynamic properties of the designed oligos.

Various tools exist that provide custom design of oligo sequences depending on the area of application. Even though most tools apply the same basic processing steps, ranging from the generation of custom-length oligo sequences, the filtering of oligo sequences based on thermodynamic properties as well as the selection of an optimal set of oligos, each newly developed tool uses its own implementation and different package dependencies. Consequently, not only the development of new tools is slowed down, but also the maintenance and modification of existing tools is hampered, because developers do not have a common resource for those functionalities to use. We tackle this issue with our open-source Oligo Designer Toolsuite.

🚀 Oligo Designer Toolsuite is a collection of modules that provides all basic functionalities for custom oligo design pipelines as well as advanced experiment-specific functionalities like machine learning models for oligo specificity prediction within a flexible Python framework.

To allow the flexible usage of different modules, depending on the required processing steps, we developed a common underlying data structure that ensures the cross-compatibility of all modules within the framework. This data structure is runtime and memory optimized to enable the processing of large sequence dataset in a reasonable time frame. With our Oligo Designer Toolsuite we aim to set new standards in the development of oligo design pipelines, helping to accelerate the development of new tools and facilitate the upgrade of existing tools with the latest developments in the field. We also provide ready-to-use oligo design pipelines for specific experimental setups, e.g. MERFISH or SeqFISH+ probe design for Spatial Transcriptomics.

Implemented Oligo Design Pipelines

The following pipelines are pre-implemented and ready-to-use:

🧬 Genomic Region Generator

🧪 Scrinshot Probe Designer

🧪 SeqFISH+ Probe Designer

🧪 MERFISH Probe Designer

🧫 Oligo-Seq Probe Designer

🧫 CycleHCR Probe Designer

If you would like to modify an existing pipeline for adjusted experimental settings or to design a new pipeline for a different experimental setup, feel free to reach out to us Lisa Barros de Andrade e Sousa or Jonas Hagenberg.

Installation

Requirements

This package was tested for Python 3.10 - 3.12 on Linux (x64) and macOS (arm64) but not tested on Windows.

Note: Intel-based macOS (osx64) installation is ⚠️ DEPRECATED ⚠️

For stable installation, we recommend to first setup a conda environment.

Note: if your institution does not support anaconda, you can use miniforge instead to run the conda installations.

First create a conda environment:

conda create -n odt python=3.12
conda activate odt

To install the additional required tools via conda, please activate the bioconda and conda-forge channels in your conda environment and update conda and all packages in your environment:

conda config --add channels bioconda
conda config --add channels conda-forge
conda update --all

The additional tools need to be installed independently:

conda install "blast>=2.15.0"
conda install "bedtools>=2.30"
conda install "bowtie>=1.3.1"
conda install "bowtie2>=2.5"
conda install "bcftools>=1.22"
conda install "samtools>=1.22"

All other required packages are automatically installed if installation is done via pip (see below).

Install Options

The installation of the package is done via pip. Note: if you are using conda, first install pip with: conda install pip.

PyPI install:

pip install oligo-designer-toolsuite

Installation from source:

git clone https://github.com/HelmholtzAI-Consultants-Munich/oligo-designer-toolsuite.git
cd oligo-designer-toolsuite
  • Installation as python package (run inside directory):

      pip install .
    
  • Development installation as python package (run inside directory):

      pip install -e .[dev]
    

Contributing

Contributions are more than welcome! Everything from code to notebooks to examples and documentation are all equally valuable so please don't feel you can't contribute. To contribute please fork the project make your changes and submit a pull request. We will do our best to work through any issues with you and get your code merged into the main branch.

For any further inquiries please send an email to Lisa Barros de Andrade e Sousa or Jonas Hagenberg.

How to cite

If the Oligo Designer Toolsuite is useful for your research, consider citing the package:

@software{
	author		= 	{	Barros de Andrade e Sousa L.,
  						Mekki I.,
						Campi F.,
						Kümmerle L.,
						Bright C.,
						Lücken M.,
						Theis F.,
						Piraud M.
					},
	title		= 	{Oligo Designer Toolsuite},
	year		= 	{2025},
	publisher	= 	{GitHub},
	journal 	= 	{GitHub repository},
	url 		= 	{https://github.com/HelmholtzAI-Consultants-Munich/oligo-designer-toolsuite}
}

If you are using the SCRINSHOT, MERFISH or SeqFISH+ pipeline provided along the Oligo Designer Toolsuite, consider citing in addition the paper:

@article{
	author 	 	= 	{
						Louis B. Kuemmerle,
		     			Malte D. Luecken,
		     			Alexandra B. Firsova
		     			Lisa Barros de Andrade e Sousa
		     			Lena Strasser
                     	Ilhem Isra Mekki
                     	Francesco Campi
		     			Lukas Heumos
		     			Maiia Shulman
                     	Valentina Beliaeva
                     	Soroor Hediyeh-Zadeh
                     	Anna C. Schaar
		     			Krishnaa T. Mahbubani
		     			Alexandros Sountoulidis
		     			Tamas Balassa
		     			Ferenc Kovacs
		     			Peter Horvath
		     			Marie Piraud
		     			Ali Ertürk
		     			Christos Samakovlis
		     			Fabian J. Theis
					},
    title 	 	= 	{Probe set selection for targeted spatial transcriptomics},
    year 	 	= 	{2024},
    publisher 	= 	{Nature Publishing Group US New York},
    journal 	= 	{Nature methods},
    doi 	 	= 	{10.1038/s41592-024-02496-z},
    URL 	 	= 	{https://doi.org/10.1038/s41592-024-02496-z}
}

License

oligo-designer-toolsuite is released under the MIT license. See LICENSE for additional details about it.

Metadata

Release files for oligo-designer-toolsuite 2.2.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 oligo-designer-toolsuite 2.2.0
File Size Uploaded
oligo_designer_toolsuite-2.2.0.tar.gz 71.3 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for oligo-designer-toolsuite 2.2.0
File Interpreter ABI Platform
oligo_designer_toolsuite-2.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 71.6 MB

Release files / oligo_designer_toolsuite-2.2.0.tar.gz

Download URL oligo_designer_toolsuite-2.2.0.tar.gz
Size 71.3 MB
Tags Source
SHA-256 checksum
How to use checksums
6618a50e2357b66a47d91c6de62e3472d053d28046052050ac2fda3dce99c234
BLAKE2b-256 checksum
How to use checksums
18fb616e3132052639e2491daf92b8b2facfc445e89d2de0c205820c508e92fe
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.16

Release files / oligo_designer_toolsuite-2.2.0-py3-none-any.whl

Download URL oligo_designer_toolsuite-2.2.0-py3-none-any.whl
Size 272.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
09c5f4541f3bca1bb209aa50d8517cb8e9af39336ef5b9684017cd88c5f80bc7
BLAKE2b-256 checksum
How to use checksums
d241fc45f1d0c22d19b6aa985938d08614712d832d0548bb734453832d4869a2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.16

Release history Release notifications | RSS feed

2.3.0

2 release files

This release

2.2.0 This release

2 release files

2.1.0

2 release files

2.0.1

2 release files

2.0.0

2 release files

1.0.1

2 release files

1.0.0

2 release files

0.1.3

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