Automate your Streptomyces genome engineering workflows 🚀
StreptoCAD is an open-source software toolbox designed to automate and streamline genome engineering in Streptomyces. This tool supports various CRISPR-based techniques and gene overexpression methods, simplifying the genetic engineering process.
You can find it here: streptocad.bioengineering.dtu.dk
Features
- Automated Primer and sgRNA Design: Automatically generates necessary DNA primers and sgRNA sequences for your target genes.
- Plasmid Assembly Simulation: Simulates plasmid assemblies and the resulting genomic modifications.
- Six Design Workflows: Supports workflows including overexpression library construction, base-editing, and in-frame deletions using CRISPR-Cas9 and CRISPR-Cas3 systems.
- FAIR Compliance: Ensures data is Findable, Accessible, Interoperable, and Reusable, promoting reproducibility and ease of data management.
- User-Friendly: Suitable for both experienced users and beginners, facilitating collaboration and standardized workflows.
Why StreptoCAD?
Streptomyces is a prolific source of novel bioactive molecules, but current genetic engineering methods are inefficient and time-consuming. StreptoCAD addresses these challenges by automating the design process, reducing errors, and speeding up the development of genetically modified strains. This tool transforms complex genetic engineering tasks into straightforward, reproducible processes, enabling faster scientific advancements and discovery of new natural products.
For more details and an in-depth discussion of our approach, check out our bioXiv paper.
Workflows
StreptoCAD offers six distinct workflows for various genetic engineering tasks:
-
Overexpression Plasmid Library Construction:
- Can be used to overexpress target proteins - we experimentally validated this by overexpressing regulators.
-
Single CRISPR-BEST Plasmid Generation:
- Base editing system in the genome of Streptomyces using single sgRNA for targeting.
-
Multiplexed CRISPR-BEST Plasmid Generation:
- Multiplexed base-editing in the genome for high-throughput genetic studies.
-
- Uses transcriptional interference to reversibly inactivate genes for functional studies.
-
- Can be used for random-sized or in-frame deletions with Cas9
-
- Can be used for random-sized or in-frame deletions with Cas3
Experimental Validation
StreptoCAD's efficiency and user-friendliness were validated by designing and constructing overexpression strains in Streptomyces Göe40/10 in just eight weeks. This highlights the tool's capability to accelerate genome engineering projects.
Future Developments
Future expansions will include additional genome engineering tools and integration with laboratory robotics systems for end-to-end automation, further enhancing the capabilities and efficiency of StreptoCAD.
Get Started
Visit streptocad.bioengineering.dtu.dk to try StreptoCAD, access documentation, and join the community of users and contributors working to advance Streptomyces research.
Use StreptoCAD as a Python library
The StreptoCAD toolbox is available on PyPI for Python 3.11 and 3.12:
pip install streptocad
The workflows can then be scripted directly, for example:
from streptocad.sequence_loading.sequence_loading import load_and_process_genome_sequences
genome = load_and_process_genome_sequences("my_genome.gbk")[0]
See the workflow notebooks for complete examples. The PyPI package contains the library only; to run the web app, follow the steps below.
Want to run StreptoCAD locally?
1. Set up a Conda virtual environment (Why it's smart)
Using a Conda virtual environment is a great way to manage dependencies for your project. Conda makes it easy to create and manage isolated environments, ensuring your project’s libraries are kept separate from other projects and system-wide dependencies. This helps avoid compatibility issues and makes it simpler to reproduce your development environment.
To create a new Conda environment, run:
conda create --name streptocad python=3.11
Replace streptocad with your preferred environment name, and replace 3.11 with the specific version of Python you need.
Then activate it:
conda activate streptocad
2. Install the requirements
Once your Conda environment is active, you can install the required dependencies from requirements.txt. This ensures your environment has all the necessary packages for the project. Use the following command:
pip install -r requirements.txt
(Note: Even though you're using Conda, pip is still used to install from requirements.txt.)
3. Run the application
Finally, to run the StreptoCAD application, execute the following command:
python3 application.py
This will launch the application locally, and you're ready to go! Follow the url that your terminal shows.
Alternatively, you can try running the workflows as Jupyter notebooks after completing the installation above.
Running the StreptoCAD App via Docker
To run the StreptoCAD application using Docker, follow these steps:
1. Build the Docker Image
First, build the Docker image from the Dockerfile located in the root of the project:
docker build -t streptocad .
2. Run the Docker Container
Once the image is built, run the container:
docker run -d -p 8050:8050 streptocad
This will start the StreptoCAD application, exposing it on port 8050 of your local machine.
3. Run the application
Finally, to run the StreptoCAD application, execute the following command:
python3 application.py
This will launch the application locally, and you're ready to go! Follow the URL that your terminal shows.
Making Your Own Workflow
StreptoCAD is designed to be modular and user-extensible. We’ve created a comprehensive guide to help you add your own custom workflows to the application. This guide covers:
- Creating new frontend components (tabs)
- Developing backend callback functions
- Writing tests
- Integrating your changes into the main app via GitHub
You can find the step-by-step guide here:
👉 Integrating New Workflows into StreptoCAD
Whether you want to adapt StreptoCAD for your research needs or contribute to the community, this documentation walks you through every stage of the process, including code examples and best practices.
If you need help:
- Check out the additional resources and documentation in the docs folder.
- Open an issue on GitHub or contact the development team.
We encourage all users to contribute and help make StreptoCAD even more powerful and versatile!
License
StreptoCAD is open-source and licensed under the MIT License.
Contact
For questions or contributions, please contact luclev@dtu.dk.
Metadata
Release files for streptocad 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| streptocad-1.0.0.tar.gz | 49.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| streptocad-1.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 110.9 kB
Release files / streptocad-1.0.0.tar.gz
| Download URL | streptocad-1.0.0.tar.gz |
|---|---|
| Size | 49.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
26314e4a3b5ff3b528a889a57118c57c8a2a09e21f19e2d8dc5ade553aad8355
|
|
BLAKE2b-256 checksum How to use checksums |
de1208c2d96c431bfd64820904c69e0b437178e898d60a4a3ae70b52dead0655
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Oct 2, 2026.
Transparency logRelease files / streptocad-1.0.0-py3-none-any.whl
| Download URL | streptocad-1.0.0-py3-none-any.whl |
|---|---|
| Size | 61.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
91fce00703eb8a16fb66aba1de7caae261a9c839b9ee3c1a71eee750c73eb39f
|
|
BLAKE2b-256 checksum How to use checksums |
ef4e09a6b3d36e1ccc07587b5df49b20b2e137bbbce1c54391bcae84efbee42f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Oct 2, 2026.
Transparency log