A package for generating toehold switches with homology ranking for gene expression control
Project description
ToeGen: Toehold Switch Generator with Homology Ranking
ToeGen is a Python package designed to generate toehold switches for gene expression control, including the ability to rank homologous sequences. This is useful for applications like synthetic biology and gene expression analysis.
Features
- Generate eukaryotic and prokaryotic toehold switches.
- Perform homology searches against custom genome sequences.
- Rank homologous sequences based on mfe (minimum free energy) and distance.
Installation
Step 1: Install Required Dependencies
Ensure you have the following dependencies installed in your Python environment:
- Biopython
- pandas
- joblib
- fuzzysearch
- ViennaRNA
These can be installed using pip:
pip install biopython numpy pandas joblib fuzzysearch viennarna
Step 2: Install Nupack
nupack is a special requirement that cannot be installed via pip. Please follow the official installation guide here.
Instructions to Install NUPACK:
- Visit the official NUPACK download page.
- Download the appropriate version for your operating system.
- Follow the installation instructions on the Getting Started Guide.
- After installation, ensure that
nupackis properly added to your environment.
Step 3: Install ToeGen
Once the dependencies are installed, you can install ToeGen:
pip install toegen
Usage
Once installed, you can use ToeGen to generate eukaryotic and prokaryotic toehold switches with homology ranking.
- Use Case: Generating a Eukaryotic Toehold Switch
from toegen import SwitchGenerator
# Example trigger sequence for eukaryotic systems (23 nucleotides)
trigger_sequence = "AUGGCCUAGCGCUAUGCCCUAGG"
# Example reporter gene sequence
reporter_gene = "AUGGCCUAGCGCUAUGCCCUAUGGGAUGCUUCGGAUAG"
# Initialize the SwitchGenerator for eukaryotic systems
switch_generator = SwitchGenerator(translated_gene_sequence=reporter_gene)
# Generate the toehold switch
switch_strand, ensemble_defect, concentration, mfe_structure = switch_generator.get_switch(trigger_sequence)
# Display the results
print(f"Eukaryotic Switch Strand: {switch_strand}")
print(f"Ensemble Defect: {ensemble_defect}")
print(f"Complex Concentration: {concentration}")
print(f"MFE Structure: {mfe_structure}")
- Use Case: Generating a Eukaryotic Toehold Switch
from toegen import ProkaryoticSwitchGenerator
# Example trigger sequence for prokaryotic systems (30 nucleotides)
trigger_sequence = "AUGGCUCGAUUGCCCUUCUAGGAUCGUAGC"
# Example reporter gene sequence
reporter_gene = "AUGGCCUAGCGCUAUGCCCUAUGGGAUGCUUCGGAUAG"
# Initialize the ProkaryoticSwitchGenerator for prokaryotic systems
prokaryotic_switch_generator = ProkaryoticSwitchGenerator(translated_gene_sequence=reporter_gene)
# Generate the toehold switch
switch_strand, ensemble_defect, concentration, mfe_structure = prokaryotic_switch_generator.get_switch(trigger_sequence)
# Display the results
print(f"Prokaryotic Switch Strand: {switch_strand}")
print(f"Ensemble Defect: {ensemble_defect}")
print(f"Complex Concentration: {concentration}")
print(f"MFE Structure: {mfe_structure}")
- Use Case: Generating Toehold Switches with Homology Ranking
from toegen import HomologySwitchGenerator
# Example genome data simulating transcript sequences (replace with real data if available)
transcripts_dict = [
{
'gene': 'GeneA',
'protein': 'ProteinA',
'sequence': 'AUGGCCUAGCGCUAUGCCCUAUGGGAUGCUUCGGAUAG'
},
{
'gene': 'GeneB',
'protein': 'ProteinB',
'sequence': 'AUGGCUCGAUUGCCCUUCUAGGAUCGUAGCUAGGAUC'
}
]
# Example list of trigger sequences
triggers = [
"AUGGCCUAGCGCUAUGCCCUAGG", # Eukaryotic trigger (23 nucleotides)
"AUGGCUCGAUUGCCCUUCUAGGAUCGUAGC" # Prokaryotic trigger (30 nucleotides)
]
# Example reporter gene sequence
reporter_gene = "AUGGCCUAGCGCUAUGCCCUAUGGGAUGCUUCGGAUAG"
# Initialize the HomologySwitchGenerator class for Homo sapiens (eukaryotic)
homology_switch_generator = HomologySwitchGenerator(
cell_type="Homo sapiens", # Specify the cell type
reporter_gene=reporter_gene, # Specify the reporter gene sequence
transcripts_dict=transcripts_dict # Pass in mock genome data
)
# Generate toehold switches with homology search and ranking
results = homology_switch_generator.generate_switch_with_homology(triggers, homology_switch_generator.transcripts_dict)
# Display the results (ranked homology matches and switch generation)
print(results)
License
This project is licensed under the terms of the MIT license.
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 toegen-0.1.0.tar.gz.
File metadata
- Download URL: toegen-0.1.0.tar.gz
- Upload date:
- Size: 10.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3fa81f6549e0fc2a92dd2d5fcc56acaa8c0157bb52f9a6f7c2f0c48056090b14
|
|
| MD5 |
795c8762d60f36ea25a8abb129ba2ec4
|
|
| BLAKE2b-256 |
468b526d45cbeef3a149af4d89e7cb0a2e35ebe29dfa50dbe1ca1b39395ebbcf
|
File details
Details for the file toegen-0.1.0-py3-none-any.whl.
File metadata
- Download URL: toegen-0.1.0-py3-none-any.whl
- Upload date:
- Size: 8.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5c4ff674be32c4e41c1b5cfd3e4862dcb869fe97049e91aa11efe4391454dfa3
|
|
| MD5 |
601531b01d12d39a258634e31a323540
|
|
| BLAKE2b-256 |
716e4767c9f8ae8a74f8f675962e3d1298d03d1a9c0986ebbb1fbf0c3e58f33d
|