-
Notifications
You must be signed in to change notification settings - Fork 0
/
ExpressionLocation.py
90 lines (75 loc) · 4.64 KB
/
ExpressionLocation.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
from Bio import SeqIO
from Bio.Seq import Seq
from Bio.SeqRecord import SeqRecord
from Bio.SeqFeature import SeqFeature, FeatureLocation
from regex import E
import human
import Gil
import params
def Promoter_pro(record):
start = len(record.seq)
record.seq += 'tgaagtgtgtcgtgtggcgttgcgaaatgtcaaaggtggcgttatcatagaggattgttgtgtttccctaaggggtccttcaaagcgctttcccactcgccatcgaggactttcagggagcccacggataatgaggccgaaaccgccaagcctgaccagcgcggcagtccaagcccggaacacaataagcaagaaaaggtacacca'
feature = SeqFeature(FeatureLocation(start=start, end=len(record.seq)), type='promoter', id='Promoter_pro')
record.features.append(feature)
def Terminator_pro(record):
start = len(record.seq)
record.seq += "ccaggcatcaaataaaacgaaaggctcagtcgaaagactgggcctttcgttttatctgttgtttgtcggtgaacgctctctactagagtcacactggctcaccttcgggtgggcctttctgcgtttata"
feature = SeqFeature(FeatureLocation(start=start, end=len(record.seq)), type='terminator', id='Terminator_pro')
record.features.append(feature)
def B_LongumPromoter(record, innercode):
Promoter_pro(record)
innercode(record)
Terminator_pro(record)
def LocalExpressionInCells(record, innercode):
B_LongumPromoter(record, lambda record, innerode=innercode:
(human.KozakSequence(record),
Gil.AminoSequence(record, 'gggxxxxx', Gil.HumanCodons),
innercode(record))
)
def AddStr(record, str):
record.seq += str
def ShineDalgarnoSeq(record):
record.seq += 'AGAAAGGAG'
def LuxR(record):
start = len(record.seq)
if params.COMPILE_CLONED_SEQUENCES:
record.seq += 'atgaaaaacataaatgccgacgacacatacagaataattaataaaattaaagcttgtagaagcaataatgatattaatcaatgcttatctgatatgactaaaatggtacattgtgaatattatttactcgcgatcatttatcctcattctatggttaaatctgatatttcaatcctagataattaccctaaaaaatggaggcaatattatgatgacgctaatttaataaaatatgatcctatagtagattattctaactccaatcattcaccaattaattggaatatatttgaaaacaatgctgtaaataaaaaatctccaaatgtaattaaagaagcgaaaacatcaggtcttatcactgggtttagtttccctattcatacggctaacaatggcttcggaatgcttagttttgcacattcagaaaaagacaactatatagatagtttatttttacatgcgtgtatgaacataccattaattgttccttctctagttgataattatcgaaaaataaatatagcaaataataaatcaaacaacgatttaaccaaaagagaaaaagaatgtttagcgtgggcatgcgaaggaaaaagctcttgggatatttcaaaaatattaggttgcagtgagcgtactgtcactttccatttaaccaatgcgcaaatgaaactcaatacaacaaaccgctgccaaagtatttctaaagcaattttaacaggagcaattgattgcccatactttaaaaattaataacactgatagtgctagtgtagatcac'
feature = SeqFeature(FeatureLocation(start=start, end=len(record.seq)), type='CDS', id='LuxR')
record.features.append(feature)
def AllowQuorumDetection(record):
LocalExpressionInCells(record, lambda record:(
ShineDalgarnoSeq(record),
AddStr(record, 'AATAAACAA'),
LuxR(record)
))
def LuxI(record):
start = len(record.seq)
record.seq += 'atgactataatgataaaaaaatcggattttttggcaattccatcggaggagtataaaggtattctaagtcttcgttatcaagtgtttaagcaaagacttgagtgggacttagttgtagaaaataaccttgaatcagatgagtatgataactcaaatgcagaatatatttatgcttgtgatgatactgaaaatgtaagtggatgctggcgtttattacctacaacaggtgattatatgctgaaaagtgtttttcctgaattgcttggtcaacagagtgctcccaaagatcctaatatagtcgaattaagtcgttttgctgtaggtaaaaatagctcaaagataaataactctgctagtgaaattacaatgaaactatttgaagctatatataaacacgctgttagtcaaggtattacagaatatgtaacagtaacatcaacagcaatagagcgatttttaaagcgtattaaagttccttgtcatcgtattggagacaaagaaattcatgtattaggtgatactaaatcggttgtattgtctatgcctattaatgaacagtttaaaaaagcagtcttaaatgctgcaaacgacgaaaactacgctttagtagcttaataactctgatagtgctagtgtagatctc'
feature = SeqFeature(FeatureLocation(start=start, end=len(record.seq)), type='CDS', id='LuxI')
record.features.append(feature)
def SendQuorumSignal(record):
LocalExpressionInCells(record, lambda record:(
ShineDalgarnoSeq(record),
AddStr(record, 'AATAAACAA'),
LuxI(record)
))
def Enhancer_Euk(record):
record.seq += "gtggagtatttacggtaaactgcccacttggcagtacatcaagtgtatcatatgccaagtacgccccctattgacgtcaatgacggtaaatggcccgcctggcattatgcccagtacatgaccttatgggactttcctacttggcagtacatctacgtattagtcatcgctattaccatg"
def Terminator_Euk(record):
record.seq += 'attccgataacttgtttattgcagcttataatggttacaaataaagcaatagcatcacaaatttcacaaataaagcatttttttcactgcattctagttgtggtttgtccaaactcatcaatgtatcttatcatgtctg'
def Bactofection(record, innercode):
start = len(record.seq)
Enhancer_Euk(record)
ShineDalgarnoSeq(record)
AddStr(record, 'AATAAACAA')
Gil.AminoSequence(record, 'GGGxxxxx', Gil.BLongumCodons)
innercode(record)
Terminator_Euk(record)
feature = SeqFeature(FeatureLocation(start=start, end=len(record.seq)), type="Promoter", id='Bactofection')
record.features.append(feature)
def LocalExpressionInCells_SD(record, innercode):
LocalExpressionInCells(record, lambda record, innerode=innercode: (
ShineDalgarnoSeq(record),
AddStr(record, 'AATAAACAA'),
innerode(record)
))