The Coli Toolkit (CTK): An extension of the modular Yeast Toolkit for use in E. coli
This python package contains the code responsible for clustering small DNA fragments in preparation for de novo synthesis. The project is also described in the paper: The Coli Toolkit (CTK): An extension of the modular Yeast Toolkit to the E. coli chassis by **Jacob Mejlsted, Erik Kubaczka, Sebastian Wirth, and Heinz Koeppl.
Install
pip install DNA-fragment-clustering
Python Usage
from DNA_fragment_clustering import DNA_clustering, DNA_typer
DNA_clustering("input.csv", aggressive = False)
If aggressive = True is used, the algorithm will combine single sequences to achieve a higher level of compression, but this may saccrifice synthesizeability due to sequence similarity.
The DNA typer function only uses the path of a .csv file as input:
DNA_typer("input.csv")
It is also possible to use the two functions together:
DNA_clustering(DNA_typer("input.csv"), aggressive = False)
Clustering of de novo DNA fragments
The Python function DNA_clustering performs clustering and grouping of de novo DNA fragments meant for synthesis. From the methods:
The clustering software uses the Levenshtein similarity matrix to compute the differences between the various fragments that the user wants to synthesize. Using affinity propagation, the software defines clusters with high sequence similarity. From this, groups are made of up to three sequences from distinct clusters to obtain low sequence similarity in the final DNA sequence sent for synthesis. If the aggressive clustering option is selected, groups only containing one sequence are concatenated together to minimize the amount of DNA needed to be synthetized. Following the grouping, the DNA sequences are concatenated and the restriction sites for BsmBI are exchanged to BbsI and BspMI for the second and third occurrences, respectively. The final sequence is then outputted as a .csv file to the same folder as the input file was chosen from.
Input format
The input.csv files were based on the output format of Benchling.
The format requires two columns: Name, Sequence
These are the name of the DNA fragment, and sequence in question, respectively. All other columns will be ignored
Typing of DNA fragments
The Python function DNA_typer adds bases to the 5'- and 3'-ends of the sequence to determine its part type, and to enable entry cloning into pYTK001.
Input format
The input.csv file requires three columns: Name, Type, and Sequence. These are the name of the DNA part, , it's type according to the YTK/CTK nomenclature, and the sequence in question, respectively. All other columns will be ignored
Citation
If you use this code or the data provided here, please cite the corresponding paper.
License
The code and the data is available under an MIT License. Please cite the corresponding paper if you use our code and/or data.
Funding & Acknowledgments
The authors acknowledge Anika Kofod Petersen for her work on the prototype of the de novo synthesis clustering pipeline. The work was made possible with the support of a scholarship from the German Academic Exchange Service (DAAD), project number 91877921 to J.M. E.K. was supported by ERC-PoC grant PLATE (101082333). Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the funding agencies. We acknowledge the use of Python and the aforementioned Python packages.
Metadata
Release files for DNA-fragment-clustering 0.1.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| dna_fragment_clustering-0.1.4.tar.gz | 9.0 kB | Without provenance | Details for dna_fragment_clustering-0.1.4.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| dna_fragment_clustering-0.1.4-py3-none-any.whl | Python 3 | none | any | Details for dna_fragment_clustering-0.1.4-py3-none-any.whl |
Total release size: 17.7 kB
Release files / dna_fragment_clustering-0.1.4.tar.gz
| Download URL | dna_fragment_clustering-0.1.4.tar.gz |
|---|---|
| Size | 9.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
28ef3dbaf4e13f263fdd18768afcf5578aa9ba681ada56a5e9cb6fa068a4a7c6
|
|
BLAKE2b-256 checksum How to use checksums |
1f4683653d1b4e808675728570e9b0e34ffa238a8d7294f773eb6416c9b19e9b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.4
|
Release files / dna_fragment_clustering-0.1.4-py3-none-any.whl
| Download URL | dna_fragment_clustering-0.1.4-py3-none-any.whl |
|---|---|
| Size | 8.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c8264294f759c6f8cddf66bdf119a2794ead4ec3e6e8714815a65d79ea0668ed
|
|
BLAKE2b-256 checksum How to use checksums |
5769395cb78586cec88b3238fe6a4075f5ba32e4891c9921e248c447143bc813
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.4
|
Security for DNA-fragment-clustering 0.1.4
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.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.