Skip to main content

A Stealth-based pipeline that optimizes inserts for cyanobacterial transformations in non-model organisms.

Project description

BLACKBIRDCoOp

BLACKBIRD or BlackbirdCoOp is the software element for the 2024 UCSC iGem team, LIFT. BLACKBIRD is a software package that is able to optimize insert sequences for non-model cyanobacteria.

Description

BLACKBIRD is the software element of the 2024 UCSC iGem team, LIFT.

BLACKBIRD is built on Stealth, a bioinformatics tool developed by our PI, David L. Bernick, at UCSC. Stealth identifies and reports statistically underrepresented k-mer motifs within a genome in order to identify potential restriction enzyme cut-sites within an insert's coding region. For software related information about Stealth, please refer to this repository.

BLACKBIRD is a versatile program that uses the genomes of a host organism, the origin of the gene insert, and the genome of a target organism to optimize the gene insert which would be free of RM cut sites.

This is an alpha version which is a pre-release version whos successor aims to produce an optimized insert sequence that is even more efficient in eradicating the maximum number of stealth hits. Any BLACKBIRD results that have been produced and integrated into the project are a result of version 0 of BLACKBIRD.

For more information about the project and its goals, please refer to our team wiki

Installation

Requirements

For Unix/macOS:

First, check if your system can run python and the pip installer. Python packages that are not downloaded to your system need to be retrived by an installer like pip. Use the following prompts to check:

usr:~$ python --version
Python 3.x.x
#OR
usr:~$ python3 --version
Python 3.x.x
#OR
usr:~$ python -m pip --version
pip X.Y.Z from /<path>/<to>/<your>/pip (python 3.x.x)  

If you receive the following error, proceed to install python or pip on your system

usr:~$ python3 --version
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'python3' is not defined  
Installing Python / pip

If you do not have Python, get started by installing Python 3.10 or above from python.org, or through a distriubtion such as anaconda.

If you do not have a working pip installer, follow steps found here.

Installing BlackbirdCoOp

Installing BlackbirdCoOp can be done by running the following command in your terminal with a valid pip installer to install the blackbirdCoOp package from the Python Package Index (PyPI):

usr:~$ pip install blackbirdCoOp

OR

usr:~$ python -m pip install blackbirdCoOp

For Windows:

Windows requires a 'Path' environment in order to run the given CLI commands.

First, confirm if you have the compatible python and pip environments on your system

usr:~$ py --version
Python 3.x.x
#OR
usr:~$ py -m pip --version
pip X.Y.Z from /<path>/<to>/<your>/pip (python 3.x.x)  

Download python and pip with the links above and follow the instruction for a Windows OS based install

Installing BlackbirdCoOp

Installing BlackbirdCoOp can be done by running the following command in your terminal with a valid pip installer to install the blackbirdCoOp package from the Python Package Index (PyPI):

usr:~$ python -m pip install blackbirdCoOp

If you are unable to run the accompanying CLI commands, you need to set up a 'Path' environment with both Python and the 'Scripts' folder. Find the paths to both folders. Use the following command to find the location of BLACKBIRD:

usr:~$ pip show blackbirdCoOp

Follow the following commands to add to path via the GUI: 'Windows + X' -> 'System Properties' -> 'Advanced system settings' -> Environment variables -> System Variables In this section, find the 'Path' and click 'Edit'. Now, click 'New' and add the following paths:

C:\Users\YourUsername\AppData\Local\Programs\Python\PythonXX\
C:\Users\YourUsername\AppData\Local\Programs\Python\PythonXX\Scripts\

Replace 'PythonXX' with 'Python39' and save changes.

Usage

BLACKBIRD CLI

Once installed, the main function can be easily run with the command blackbirdcoop

# usage
blackbirdcoop --insert (-n) <insert infile> --stealth (-s) <stealth infile> --hostT (-ht) <host genome infile> --target (-t) <target genome infile> --outfile -o [outfile | default: stdout]

The blackbirdcoop command takes 4 required arguments --insert (-n), --stealth (-s)), --hostT (-ht), and --target (-t). --insert (-n) is the insert sequence of interest in Fasta format (.fa/.fasta) --stealth (-s)) is the list of Stealth outputted kmers in a text file (.txt/.stealth) --hostT (-ht) is the host organism's codon usage table in TSV format (.tsv) --target (-t) is the target organism's complete genome in Fasta format (.fa/.fasta)

An example of a insert sequence in Fasta format is as follows:

>pET28:EGFP CDS
ATGGTGAGCAAGGGCGAGGAGCTGTTCACCGGGGTGGTGCCCATCCTGGTCGAGCTGGACGGCGACGTAAACGGCCACAAGTTCAGCGTGTCCGGCGAGGGCGAGGGCGATGCCACCTACGGCAAGCTGACCCTGAAGTTCATCTGCACCACCGGCAAGCTGCCCGTGCCCTGGCCCACCCTCGTGACCACCCTGACCTACGGCGTGCAGTGCTTCAGCCGCTACCCCGACCACATGAAGCAGCACGACTTCTTCAAGTCCGCCATGCCCGAAGGCTACGTCCAGGAGCGCACCATCTTCTTCAAGGACGACGGCAACTACAAGACCCGCGCCGAGGTGAAGTTCGAGGGCGACACCCTGGTGAACCGCATCGAGCTGAAGGGCATCGACTTCAAGGAGGACGGCAACATCCTGGGGCACAAGCTGGAGTACAACTACAACAGCCACAACGTCTATATCATGGCCGACAAGCAGAAGAACGGCATCAAGGTGAACTTCAAGATCCGCCACAACATCGAGGACGGCAGCGTGCAGCTCGCCGACCACTACCAGCAGAACACCCCCATCGGCGACGGCCCCGTGCTGCTGCCCGACAACCACTACCTGAGCACCCAGTCCGCCCTGAGCAAAGACCCCAACGAGAAGCGCGATCACATGGTCCTGCTGGAGTTCGTGACCGCCGCCGGGATCACTCTCGGCATGGACGAGCTGTACAAGTAA

A similar format can be applied to all input files in Fasta

An example of the stealth input file is as follows:

N = 3081514
CGCG	[100]	RC Palindrome
GCGC	[98]	RC Palindrome
GGCC	[100]	RC Palindrome
AATAG	[92]	
AATCG	[100] ...

GAAGAC
GTCTTC
GGTCTC
GAGACC

The sequences starting on the second line are the generated under-represented k-mers. By default, the k-mers will be within the range of 4-8 nucleotides. 'RC Palindrome' refers to the occurence of palindromic under-represented sequences. The numbers in the bracket is usually higher than the thresholds/cut-off values set by the user. (Note: the version of stealth that handles bootstrapping will not be added to this repository at this time)

The domestication protocol is also a very simple procedure. Simply add the known internal Type IIS restriction enzyme sites for Golden Gate Assembly at the end of the stealth file.

An example of an organism's codon usage table in a tsv file is as follow:

TTT	22.31	-2414783
TTC	16.54	-1789835
TTA	13.76	-1489606
TTG	13.65	-1477363 ...

In this version, BLACKBIRD considers the second values on each lines as the 'thousandths' value or the relative codon bias of each corresponding codon

An example of the output file format is in a Fasta file as follows:

>pET28:EGFP CDS output [8]
ATGTCAATATATCAA...

The number in the brackets refers to the current number of stealth hits of the outputted insert sequence

Post-Wiki freeze:

Blackbird is operational with our most basic codon optimization algorithm. While it functions as intended, this version is an initial implementation and may lack more extensive optimization results.

For any most recent updates, enhancements, or potential future versions, please refer to Vibi's personal GitHub repository: https://github.com/vibhitha19

Alpha version - Tentative results:

The team is currently and will continue to better the algorithm in order to bring the number of stealth hits down to a minimum (ideally 0). All previous gene blocks corresponding to the most optimized results that the team has already been physically working with in order to attempt to demonstrate how the transformation efficiency was improved, were all based on the previous version.

For the sake of demonstration purposes of the previous version, we have included documentation of one of our many target organisms at the time, PCC 11901's BLACKBIRD results (results which were already utilized to order gene blocks). This includes a complete genome file (as provided by NCBI), a GFP insert file (provided by Addgene), an example of an open source codon usage table of E. Coli (a recombinant host organism that is widely used to produce GFP) and a Stealth file containing a list of "stealth sites" or under-represented sites based on our PI David L. Bernick's software.

As a result, there will also be documentation of an example of a simple Fasta file output containing the most optimized GFP sequence for the strain PCC11901.

Contributing

The LIFT, the 2024 UCSC iGem team consents to receiving any and all contributions offered.

This software is published under the MIT license. Feel free to use any and all code provided by the project in any way and for any purpose.

Authors and acknowledgment

BLACKBIRD was written and contributed to by

Special thanks

  • David L. Bernick (email: dbernick@soe.ucsc.edu), our PI, allowing the further application of Stealth and for all the support and contributions throughout.
  • Robin Rounthwaite (email: rrounthw@ucsc.edu) for consultance in software architecture and Git repository management
  • TABI 2023 UCSC iGem team (github) for support regarding Git repository management and project packaging
  • Reto Stamm (email: rstamm@ucsc.edu | github) for guidance in developing and publishing a package to the Python Package Index

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

blackbirdcoop-1.1.0.tar.gz (21.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

blackbirdcoop-1.1.0-py3-none-any.whl (21.9 kB view details)

Uploaded Python 3

File details

Details for the file blackbirdcoop-1.1.0.tar.gz.

File metadata

  • Download URL: blackbirdcoop-1.1.0.tar.gz
  • Upload date:
  • Size: 21.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.11.7 Darwin/22.6.0

File hashes

Hashes for blackbirdcoop-1.1.0.tar.gz
Algorithm Hash digest
SHA256 9b37b7fae989a7163c1cff967e5bb4b32618fb0e09496cdac4f8cb933a703c9c
MD5 d0eaffed0c87e0d2aa2affc0bdd44e41
BLAKE2b-256 6be76a7cf2a22a60e152750b1aeb67f271935df5a79a87c08bce80d816a4bc1e

See more details on using hashes here.

File details

Details for the file blackbirdcoop-1.1.0-py3-none-any.whl.

File metadata

  • Download URL: blackbirdcoop-1.1.0-py3-none-any.whl
  • Upload date:
  • Size: 21.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.11.7 Darwin/22.6.0

File hashes

Hashes for blackbirdcoop-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e8bb0856ff97d5802ab9a3bba2badb061479b44fe961fb1e878dfc40be5f08f9
MD5 19625725c17767741540984386c212c0
BLAKE2b-256 bdeebe1918e860e06dc2ee1d78e9ba29d99a2fd157dd66306a1c649aa24a6636

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page