pET28a(+)

This commit is contained in:
baiobelfer 2024-11-10 17:52:00 +01:00
parent cb625ea88d
commit 76687d90e8
19 changed files with 8941 additions and 6 deletions

2
data/fasta/4e46.fasta Normal file
View File

@ -0,0 +1,2 @@
>4E46_1|Chain A|Haloalkane dehalogenase|Rhodococcus rhodochrous (1829)
MSEIGTGFPFDPHYVEVLGERMHYVDVGPRDGTPVLFLHGNPTSSYLWRNIIPHVAPSHRCIAPDLIGMGKSDKPDLDYFFDDHVRYLDAFIEALGLEEVVLVIHDWGSALGFHWAKRNPERVKGIACMEFIRPIPTWDEWPEFARETFQAFRTADVGRELIIDQNAFIEGALPKCVVRPLTEVEMDHYREPFLKPVDREPLWRFPNELPIAGEPANIVALVEAYMNWLHQSPVPKLLFWGTPGVLIPPAEAARLAESLPNCKTVDIGPGLHYLQEDNPDLIGSEIARWLPALHHH

40
data/gb/WP_255973355.gb Normal file
View File

@ -0,0 +1,40 @@
LOCUS WP_255973355 293 aa linear BCT 31-JUL-2022
DEFINITION haloalkane dehalogenase [Rhodococcus tibetensis].
ACCESSION WP_255973355
VERSION WP_255973355.1
KEYWORDS RefSeq.
SOURCE Rhodococcus tibetensis
ORGANISM Rhodococcus tibetensis
Bacteria; Bacillati; Actinomycetota; Actinomycetes; Mycobacteriales;
Nocardiaceae; Rhodococcus.
COMMENT ##Evidence-For-Name-Assignment-START##
Evidence Category :: HMM
Evidence Accession :: NF002938.0
Evidence Source :: NCBI Protein Cluster (PRK)
Source Identifier :: PRK03592
##Evidence-For-Name-Assignment-END##
REFSEQ: This record represents a single, non-redundant, protein
sequence which may be annotated on many different RefSeq genomes
from the same, or different, species.
COMPLETENESS: full length.
FEATURES Location/Qualifiers
source 1..293
/organism="Rhodococcus tibetensis"
/db_xref="taxon:2965064"
Protein 1..293
/product="haloalkane dehalogenase"
/EC_number="3.8.1.5"
/GO_function="GO:0018786 - haloalkane dehalogenase activity
[Evidence IEA]"
/calculated_mol_wt="33199"
Region 4..293
/region_name="PRK03592"
/note="haloalkane dehalogenase; Provisional"
/db_xref="CDD:235135"
ORIGIN
1 mseigtafsf dphymevlge rmhyvdvgpr dgtpvlflhg nptssylwrn iiphvspthr
61 ciapdligmg ksdkpelgys fddhvrylda fiealdleev vlvihdwgsa lgfhwakrnp
121 grvkgiacme firpiqtwdd wpefaresfq afrtgdvgre liidqnafie avlpkcvvrp
181 ltevemdhyr epflkpvdre plwrfpnelp iagapehmvs vvedymnwlh qspvpklmfw
241 gtpgvlippa eatrlaeslp nckavdigpg lhylqednpd ligseiarwl pal
//

193
data/gb/pET-28a(+).gb Normal file
View File

@ -0,0 +1,193 @@
LOCUS 40924_17796 5369 bp DNA circular SYN 14-OCT-2021
DEFINITION synthetic circular DNA.
ACCESSION .
VERSION .
KEYWORDS .
SOURCE synthetic DNA construct
ORGANISM synthetic DNA construct
REFERENCE 1 (bases 1 to 5369)
AUTHORS caoheibi
TITLE Direct Submission
REFERENCE 2 (bases 1 to 5369)
AUTHORS .
TITLE Direct Submission
COMMENT SGRef: number: 1; type: "Journal Article"
FEATURES Location/Qualifiers
source 1..5369
/mol_type="other DNA"
/organism="synthetic DNA construct"
terminator complement(26..73)
/label=T7 terminator
/note="transcription terminator for bacteriophage T7 RNA
polymerase"
CDS complement(140..157)
/codon_start=1
/label=6xHis
/note="6xHis affinity tag"
/translation="HHHHHH"
CDS complement(207..239)
/codon_start=1
/label=T7 tag (gene 10 leader)
/note="leader peptide from bacteriophage T7 gene 10"
/translation="MASMTGGQQMG"
CDS complement(243..260)
/codon_start=1
/label=thrombin site
/note="thrombin recognition and cleavage site"
/translation="LVPRGS"
CDS complement(270..287)
/codon_start=1
/label=6xHis
/note="6xHis affinity tag"
/translation="HHHHHH"
RBS complement(306..328)
/label=RBS
/note="efficient ribosome binding site from bacteriophage
T7 gene 10 (Olins and Rangwala, 1989)"
protein_bind complement(343..367)
/label=lac operator
/note="The lac repressor binds to the lac operator to
inhibit transcription in E. coli. This inhibition can be
relieved by adding lactose or
isopropyl-beta-D-thiogalactopyranoside (IPTG)."
promoter complement(368..386)
/label=T7 promoter
/note="promoter for bacteriophage T7 RNA polymerase"
promoter 695..772
/label=lacI promoter
CDS 773..1852
/codon_start=1
/label=lacI
/note="lac repressor"
/translation="VKPVTLYDVAEYAGVSYQTVSRVVNQASHVSAKTREKVEAAMAEL
NYIPNRVAQQLAGKQSLLIGVATSSLALHAPSQIVAAIKSRADQLGASVVVSMVERSGV
EACKAAVHNLLAQRVSGLIINYPLDDQDAIAVEAACTNVPALFLDVSDQTPINSIIFSH
EDGTRLGVEHLVALGHQQIALLAGPLSSVSARLRLAGWHKYLTRNQIQPIAEREGDWSA
MSGFQQTMQMLNEGIVPTAMLVANDQMALGAMRAITESGLRVGADISVVGYDDTEDSSC
YIPPLTTIKQDFRLLGQTSVDRLLQLSQGQAVKGNQLLPVSLVKRKTTLAPNTQTASPR
ALADSLMQLARQVSRLESGQ"
protein_bind 1868..1889
/label=CAP binding site
/note="CAP binding activates transcription in the presence
of cAMP."
CDS 2664..2852
/codon_start=1
/label=rop
/note="Rop protein, which maintains plasmids at low copy
number"
/translation="VTKQEKTALNMARFIRSQTLTLLEKLNELDADEQADICESLHDHA
DELYRSCLARFGDDGENL"
misc_feature 2957..3099
/label=bom
/note="basis of mobility region from pBR322"
rep_origin complement(3285..3873)
/direction=LEFT
/label=ori
/note="high-copy-number ColE1/pMB1/pBR322/pUC origin of
replication"
CDS 3995..4807
/codon_start=1
/label=KanR
/note="aminoglycoside phosphotransferase"
/translation="MSHIQRETSCSRPRLNSNMDADLYGYKWARDNVGQSGATIYRLYG
KPDAPELFLKHGKGSVANDVTDEMVRLNWLTEFMPLPTIKHFIRTPDDAWLLTTAIPGK
TAFQVLEEYPDSGENIVDALAVFLRRLHSIPVCNCPFNSDRVFRLAQAQSRMNNGLVDA
SDFDDERNGWPVEQVWKEMHKLLPFSPDSVVTHGDFSLDNLIFDEGKLIGCIDVGRVGI
ADRYQDLAILWNCLGEFSPSLQKRLFQKYGIDNPDMNKLQFHLMLDEFF"
rep_origin complement(4903..5358)
/direction=LEFT
/label=f1 ori
/note="f1 bacteriophage origin of replication; arrow
indicates direction of (+) strand synthesis"
ORIGIN
1 atccggatat agttcctcct ttcagcaaaa aacccctcaa gacccgttta gaggccccaa
61 ggggttatgc tagttattgc tcagcggtgg cagcagccaa ctcagcttcc tttcgggctt
121 tgttagcagc cggatctcag tggtggtggt ggtggtgctc gagtgcggcc gcaagcttgt
181 cgacggagct cgaattcgga tccgcgaccc atttgctgtc caccagtcat gctagccata
241 tggctgccgc gcggcaccag gccgctgctg tgatgatgat gatgatggct gctgcccatg
301 gtatatctcc ttcttaaagt taaacaaaat tatttctaga ggggaattgt tatccgctca
361 caattcccct atagtgagtc gtattaattt cgcgggatcg agatctcgat cctctacgcc
421 ggacgcatcg tggccggcat caccggcgcc acaggtgcgg ttgctggcgc ctatatcgcc
481 gacatcaccg atggggaaga tcgggctcgc cacttcgggc tcatgagcgc ttgtttcggc
541 gtgggtatgg tggcaggccc cgtggccggg ggactgttgg gcgccatctc cttgcatgca
601 ccattccttg cggcggcggt gctcaacggc ctcaacctac tactgggctg cttcctaatg
661 caggagtcgc ataagggaga gcgtcgagat cccggacacc atcgaatggc gcaaaacctt
721 tcgcggtatg gcatgatagc gcccggaaga gagtcaattc agggtggtga atgtgaaacc
781 agtaacgtta tacgatgtcg cagagtatgc cggtgtctct tatcagaccg tttcccgcgt
841 ggtgaaccag gccagccacg tttctgcgaa aacgcgggaa aaagtggaag cggcgatggc
901 ggagctgaat tacattccca accgcgtggc acaacaactg gcgggcaaac agtcgttgct
961 gattggcgtt gccacctcca gtctggccct gcacgcgccg tcgcaaattg tcgcggcgat
1021 taaatctcgc gccgatcaac tgggtgccag cgtggtggtg tcgatggtag aacgaagcgg
1081 cgtcgaagcc tgtaaagcgg cggtgcacaa tcttctcgcg caacgcgtca gtgggctgat
1141 cattaactat ccgctggatg accaggatgc cattgctgtg gaagctgcct gcactaatgt
1201 tccggcgtta tttcttgatg tctctgacca gacacccatc aacagtatta ttttctccca
1261 tgaagacggt acgcgactgg gcgtggagca tctggtcgca ttgggtcacc agcaaatcgc
1321 gctgttagcg ggcccattaa gttctgtctc ggcgcgtctg cgtctggctg gctggcataa
1381 atatctcact cgcaatcaaa ttcagccgat agcggaacgg gaaggcgact ggagtgccat
1441 gtccggtttt caacaaacca tgcaaatgct gaatgagggc atcgttccca ctgcgatgct
1501 ggttgccaac gatcagatgg cgctgggcgc aatgcgcgcc attaccgagt ccgggctgcg
1561 cgttggtgcg gatatctcgg tagtgggata cgacgatacc gaagacagct catgttatat
1621 cccgccgtta accaccatca aacaggattt tcgcctgctg gggcaaacca gcgtggaccg
1681 cttgctgcaa ctctctcagg gccaggcggt gaagggcaat cagctgttgc ccgtctcact
1741 ggtgaaaaga aaaaccaccc tggcgcccaa tacgcaaacc gcctctcccc gcgcgttggc
1801 cgattcatta atgcagctgg cacgacaggt ttcccgactg gaaagcgggc agtgagcgca
1861 acgcaattaa tgtaagttag ctcactcatt aggcaccggg atctcgaccg atgcccttga
1921 gagccttcaa cccagtcagc tccttccggt gggcgcgggg catgactatc gtcgccgcac
1981 ttatgactgt cttctttatc atgcaactcg taggacaggt gccggcagcg ctctgggtca
2041 ttttcggcga ggaccgcttt cgctggagcg cgacgatgat cggcctgtcg cttgcggtat
2101 tcggaatctt gcacgccctc gctcaagcct tcgtcactgg tcccgccacc aaacgtttcg
2161 gcgagaagca ggccattatc gccggcatgg cggccccacg ggtgcgcatg atcgtgctcc
2221 tgtcgttgag gacccggcta ggctggcggg gttgccttac tggttagcag aatgaatcac
2281 cgatacgcga gcgaacgtga agcgactgct gctgcaaaac gtctgcgacc tgagcaacaa
2341 catgaatggt cttcggtttc cgtgtttcgt aaagtctgga aacgcggaag tcagcgccct
2401 gcaccattat gttccggatc tgcatcgcag gatgctgctg gctaccctgt ggaacaccta
2461 catctgtatt aacgaagcgc tggcattgac cctgagtgat ttttctctgg tcccgccgca
2521 tccataccgc cagttgttta ccctcacaac gttccagtaa ccgggcatgt tcatcatcag
2581 taacccgtat cgtgagcatc ctctctcgtt tcatcggtat cattaccccc atgaacagaa
2641 atccccctta cacggaggca tcagtgacca aacaggaaaa aaccgccctt aacatggccc
2701 gctttatcag aagccagaca ttaacgcttc tggagaaact caacgagctg gacgcggatg
2761 aacaggcaga catctgtgaa tcgcttcacg accacgctga tgagctttac cgcagctgcc
2821 tcgcgcgttt cggtgatgac ggtgaaaacc tctgacacat gcagctcccg gagacggtca
2881 cagcttgtct gtaagcggat gccgggagca gacaagcccg tcagggcgcg tcagcgggtg
2941 ttggcgggtg tcggggcgca gccatgaccc agtcacgtag cgatagcgga gtgtatactg
3001 gcttaactat gcggcatcag agcagattgt actgagagtg caccatatat gcggtgtgaa
3061 ataccgcaca gatgcgtaag gagaaaatac cgcatcaggc gctcttccgc ttcctcgctc
3121 actgactcgc tgcgctcggt cgttcggctg cggcgagcgg tatcagctca ctcaaaggcg
3181 gtaatacggt tatccacaga atcaggggat aacgcaggaa agaacatgtg agcaaaaggc
3241 cagcaaaagg ccaggaaccg taaaaaggcc gcgttgctgg cgtttttcca taggctccgc
3301 ccccctgacg agcatcacaa aaatcgacgc tcaagtcaga ggtggcgaaa cccgacagga
3361 ctataaagat accaggcgtt tccccctgga agctccctcg tgcgctctcc tgttccgacc
3421 ctgccgctta ccggatacct gtccgccttt ctcccttcgg gaagcgtggc gctttctcat
3481 agctcacgct gtaggtatct cagttcggtg taggtcgttc gctccaagct gggctgtgtg
3541 cacgaacccc ccgttcagcc cgaccgctgc gccttatccg gtaactatcg tcttgagtcc
3601 aacccggtaa gacacgactt atcgccactg gcagcagcca ctggtaacag gattagcaga
3661 gcgaggtatg taggcggtgc tacagagttc ttgaagtggt ggcctaacta cggctacact
3721 agaaggacag tatttggtat ctgcgctctg ctgaagccag ttaccttcgg aaaaagagtt
3781 ggtagctctt gatccggcaa acaaaccacc gctggtagcg gtggtttttt tgtttgcaag
3841 cagcagatta cgcgcagaaa aaaaggatct caagaagatc ctttgatctt ttctacgggg
3901 tctgacgctc agtggaacga aaactcacgt taagggattt tggtcatgaa caataaaact
3961 gtctgcttac ataaacagta atacaagggg tgttatgagc catattcaac gggaaacgtc
4021 ttgctctagg ccgcgattaa attccaacat ggatgctgat ttatatgggt ataaatgggc
4081 tcgcgataat gtcgggcaat caggtgcgac aatctatcga ttgtatggga agcccgatgc
4141 gccagagttg tttctgaaac atggcaaagg tagcgttgcc aatgatgtta cagatgagat
4201 ggtcagacta aactggctga cggaatttat gcctcttccg accatcaagc attttatccg
4261 tactcctgat gatgcatggt tactcaccac tgcgatcccc gggaaaacag cattccaggt
4321 attagaagaa tatcctgatt caggtgaaaa tattgttgat gcgctggcag tgttcctgcg
4381 ccggttgcat tcgattcctg tttgtaattg tccttttaac agcgatcgcg tatttcgtct
4441 cgctcaggcg caatcacgaa tgaataacgg tttggttgat gcgagtgatt ttgatgacga
4501 gcgtaatggc tggcctgttg aacaagtctg gaaagaaatg cataaacttt tgccattctc
4561 accggattca gtcgtcactc atggtgattt ctcacttgat aaccttattt ttgacgaggg
4621 gaaattaata ggttgtattg atgttggacg agtcggaatc gcagaccgat accaggatct
4681 tgccatccta tggaactgcc tcggtgagtt ttctccttca ttacagaaac ggctttttca
4741 aaaatatggt attgataatc ctgatatgaa taaattgcag tttcatttga tgctcgatga
4801 gtttttctaa gaattaattc atgagcggat acatatttga atgtatttag aaaaataaac
4861 aaataggggt tccgcgcaca tttccccgaa aagtgccacc tgaaattgta aacgttaata
4921 ttttgttaaa attcgcgtta aatttttgtt aaatcagctc attttttaac caataggccg
4981 aaatcggcaa aatcccttat aaatcaaaag aatagaccga gatagggttg agtgttgttc
5041 cagtttggaa caagagtcca ctattaaaga acgtggactc caacgtcaaa gggcgaaaaa
5101 ccgtctatca gggcgatggc ccactacgtg aaccatcacc ctaatcaagt tttttggggt
5161 cgaggtgccg taaagcacta aatcggaacc ctaaagggag cccccgattt agagcttgac
5221 ggggaaagcc ggcgaacgtg gcgagaaagg aagggaagaa agcgaaagga gcgggcgcta
5281 gggcgctggc aagtgtagcg gtcacgctgc gcgtaaccac cacacccgcc gcgcttaatg
5341 cgccgctaca gggcgcgtcc cattcgcca
//

193
data/gb/pet28a.gb Normal file
View File

@ -0,0 +1,193 @@
LOCUS 40924_17796 5369 bp DNA circular SYN 14-OCT-2021
DEFINITION synthetic circular DNA.
ACCESSION .
VERSION .
KEYWORDS .
SOURCE synthetic DNA construct
ORGANISM synthetic DNA construct
REFERENCE 1 (bases 1 to 5369)
AUTHORS caoheibi
TITLE Direct Submission
REFERENCE 2 (bases 1 to 5369)
AUTHORS .
TITLE Direct Submission
COMMENT SGRef: number: 1; type: "Journal Article"
FEATURES Location/Qualifiers
source 1..5369
/mol_type="other DNA"
/organism="synthetic DNA construct"
terminator complement(26..73)
/label=T7 terminator
/note="transcription terminator for bacteriophage T7 RNA
polymerase"
CDS complement(140..157)
/codon_start=1
/label=6xHis
/note="6xHis affinity tag"
/translation="HHHHHH"
CDS complement(207..239)
/codon_start=1
/label=T7 tag (gene 10 leader)
/note="leader peptide from bacteriophage T7 gene 10"
/translation="MASMTGGQQMG"
CDS complement(243..260)
/codon_start=1
/label=thrombin site
/note="thrombin recognition and cleavage site"
/translation="LVPRGS"
CDS complement(270..287)
/codon_start=1
/label=6xHis
/note="6xHis affinity tag"
/translation="HHHHHH"
RBS complement(306..328)
/label=RBS
/note="efficient ribosome binding site from bacteriophage
T7 gene 10 (Olins and Rangwala, 1989)"
protein_bind complement(343..367)
/label=lac operator
/note="The lac repressor binds to the lac operator to
inhibit transcription in E. coli. This inhibition can be
relieved by adding lactose or
isopropyl-beta-D-thiogalactopyranoside (IPTG)."
promoter complement(368..386)
/label=T7 promoter
/note="promoter for bacteriophage T7 RNA polymerase"
promoter 695..772
/label=lacI promoter
CDS 773..1852
/codon_start=1
/label=lacI
/note="lac repressor"
/translation="VKPVTLYDVAEYAGVSYQTVSRVVNQASHVSAKTREKVEAAMAEL
NYIPNRVAQQLAGKQSLLIGVATSSLALHAPSQIVAAIKSRADQLGASVVVSMVERSGV
EACKAAVHNLLAQRVSGLIINYPLDDQDAIAVEAACTNVPALFLDVSDQTPINSIIFSH
EDGTRLGVEHLVALGHQQIALLAGPLSSVSARLRLAGWHKYLTRNQIQPIAEREGDWSA
MSGFQQTMQMLNEGIVPTAMLVANDQMALGAMRAITESGLRVGADISVVGYDDTEDSSC
YIPPLTTIKQDFRLLGQTSVDRLLQLSQGQAVKGNQLLPVSLVKRKTTLAPNTQTASPR
ALADSLMQLARQVSRLESGQ"
protein_bind 1868..1889
/label=CAP binding site
/note="CAP binding activates transcription in the presence
of cAMP."
CDS 2664..2852
/codon_start=1
/label=rop
/note="Rop protein, which maintains plasmids at low copy
number"
/translation="VTKQEKTALNMARFIRSQTLTLLEKLNELDADEQADICESLHDHA
DELYRSCLARFGDDGENL"
misc_feature 2957..3099
/label=bom
/note="basis of mobility region from pBR322"
rep_origin complement(3285..3873)
/direction=LEFT
/label=ori
/note="high-copy-number ColE1/pMB1/pBR322/pUC origin of
replication"
CDS 3995..4807
/codon_start=1
/label=KanR
/note="aminoglycoside phosphotransferase"
/translation="MSHIQRETSCSRPRLNSNMDADLYGYKWARDNVGQSGATIYRLYG
KPDAPELFLKHGKGSVANDVTDEMVRLNWLTEFMPLPTIKHFIRTPDDAWLLTTAIPGK
TAFQVLEEYPDSGENIVDALAVFLRRLHSIPVCNCPFNSDRVFRLAQAQSRMNNGLVDA
SDFDDERNGWPVEQVWKEMHKLLPFSPDSVVTHGDFSLDNLIFDEGKLIGCIDVGRVGI
ADRYQDLAILWNCLGEFSPSLQKRLFQKYGIDNPDMNKLQFHLMLDEFF"
rep_origin complement(4903..5358)
/direction=LEFT
/label=f1 ori
/note="f1 bacteriophage origin of replication; arrow
indicates direction of (+) strand synthesis"
ORIGIN
1 atccggatat agttcctcct ttcagcaaaa aacccctcaa gacccgttta gaggccccaa
61 ggggttatgc tagttattgc tcagcggtgg cagcagccaa ctcagcttcc tttcgggctt
121 tgttagcagc cggatctcag tggtggtggt ggtggtgctc gagtgcggcc gcaagcttgt
181 cgacggagct cgaattcgga tccgcgaccc atttgctgtc caccagtcat gctagccata
241 tggctgccgc gcggcaccag gccgctgctg tgatgatgat gatgatggct gctgcccatg
301 gtatatctcc ttcttaaagt taaacaaaat tatttctaga ggggaattgt tatccgctca
361 caattcccct atagtgagtc gtattaattt cgcgggatcg agatctcgat cctctacgcc
421 ggacgcatcg tggccggcat caccggcgcc acaggtgcgg ttgctggcgc ctatatcgcc
481 gacatcaccg atggggaaga tcgggctcgc cacttcgggc tcatgagcgc ttgtttcggc
541 gtgggtatgg tggcaggccc cgtggccggg ggactgttgg gcgccatctc cttgcatgca
601 ccattccttg cggcggcggt gctcaacggc ctcaacctac tactgggctg cttcctaatg
661 caggagtcgc ataagggaga gcgtcgagat cccggacacc atcgaatggc gcaaaacctt
721 tcgcggtatg gcatgatagc gcccggaaga gagtcaattc agggtggtga atgtgaaacc
781 agtaacgtta tacgatgtcg cagagtatgc cggtgtctct tatcagaccg tttcccgcgt
841 ggtgaaccag gccagccacg tttctgcgaa aacgcgggaa aaagtggaag cggcgatggc
901 ggagctgaat tacattccca accgcgtggc acaacaactg gcgggcaaac agtcgttgct
961 gattggcgtt gccacctcca gtctggccct gcacgcgccg tcgcaaattg tcgcggcgat
1021 taaatctcgc gccgatcaac tgggtgccag cgtggtggtg tcgatggtag aacgaagcgg
1081 cgtcgaagcc tgtaaagcgg cggtgcacaa tcttctcgcg caacgcgtca gtgggctgat
1141 cattaactat ccgctggatg accaggatgc cattgctgtg gaagctgcct gcactaatgt
1201 tccggcgtta tttcttgatg tctctgacca gacacccatc aacagtatta ttttctccca
1261 tgaagacggt acgcgactgg gcgtggagca tctggtcgca ttgggtcacc agcaaatcgc
1321 gctgttagcg ggcccattaa gttctgtctc ggcgcgtctg cgtctggctg gctggcataa
1381 atatctcact cgcaatcaaa ttcagccgat agcggaacgg gaaggcgact ggagtgccat
1441 gtccggtttt caacaaacca tgcaaatgct gaatgagggc atcgttccca ctgcgatgct
1501 ggttgccaac gatcagatgg cgctgggcgc aatgcgcgcc attaccgagt ccgggctgcg
1561 cgttggtgcg gatatctcgg tagtgggata cgacgatacc gaagacagct catgttatat
1621 cccgccgtta accaccatca aacaggattt tcgcctgctg gggcaaacca gcgtggaccg
1681 cttgctgcaa ctctctcagg gccaggcggt gaagggcaat cagctgttgc ccgtctcact
1741 ggtgaaaaga aaaaccaccc tggcgcccaa tacgcaaacc gcctctcccc gcgcgttggc
1801 cgattcatta atgcagctgg cacgacaggt ttcccgactg gaaagcgggc agtgagcgca
1861 acgcaattaa tgtaagttag ctcactcatt aggcaccggg atctcgaccg atgcccttga
1921 gagccttcaa cccagtcagc tccttccggt gggcgcgggg catgactatc gtcgccgcac
1981 ttatgactgt cttctttatc atgcaactcg taggacaggt gccggcagcg ctctgggtca
2041 ttttcggcga ggaccgcttt cgctggagcg cgacgatgat cggcctgtcg cttgcggtat
2101 tcggaatctt gcacgccctc gctcaagcct tcgtcactgg tcccgccacc aaacgtttcg
2161 gcgagaagca ggccattatc gccggcatgg cggccccacg ggtgcgcatg atcgtgctcc
2221 tgtcgttgag gacccggcta ggctggcggg gttgccttac tggttagcag aatgaatcac
2281 cgatacgcga gcgaacgtga agcgactgct gctgcaaaac gtctgcgacc tgagcaacaa
2341 catgaatggt cttcggtttc cgtgtttcgt aaagtctgga aacgcggaag tcagcgccct
2401 gcaccattat gttccggatc tgcatcgcag gatgctgctg gctaccctgt ggaacaccta
2461 catctgtatt aacgaagcgc tggcattgac cctgagtgat ttttctctgg tcccgccgca
2521 tccataccgc cagttgttta ccctcacaac gttccagtaa ccgggcatgt tcatcatcag
2581 taacccgtat cgtgagcatc ctctctcgtt tcatcggtat cattaccccc atgaacagaa
2641 atccccctta cacggaggca tcagtgacca aacaggaaaa aaccgccctt aacatggccc
2701 gctttatcag aagccagaca ttaacgcttc tggagaaact caacgagctg gacgcggatg
2761 aacaggcaga catctgtgaa tcgcttcacg accacgctga tgagctttac cgcagctgcc
2821 tcgcgcgttt cggtgatgac ggtgaaaacc tctgacacat gcagctcccg gagacggtca
2881 cagcttgtct gtaagcggat gccgggagca gacaagcccg tcagggcgcg tcagcgggtg
2941 ttggcgggtg tcggggcgca gccatgaccc agtcacgtag cgatagcgga gtgtatactg
3001 gcttaactat gcggcatcag agcagattgt actgagagtg caccatatat gcggtgtgaa
3061 ataccgcaca gatgcgtaag gagaaaatac cgcatcaggc gctcttccgc ttcctcgctc
3121 actgactcgc tgcgctcggt cgttcggctg cggcgagcgg tatcagctca ctcaaaggcg
3181 gtaatacggt tatccacaga atcaggggat aacgcaggaa agaacatgtg agcaaaaggc
3241 cagcaaaagg ccaggaaccg taaaaaggcc gcgttgctgg cgtttttcca taggctccgc
3301 ccccctgacg agcatcacaa aaatcgacgc tcaagtcaga ggtggcgaaa cccgacagga
3361 ctataaagat accaggcgtt tccccctgga agctccctcg tgcgctctcc tgttccgacc
3421 ctgccgctta ccggatacct gtccgccttt ctcccttcgg gaagcgtggc gctttctcat
3481 agctcacgct gtaggtatct cagttcggtg taggtcgttc gctccaagct gggctgtgtg
3541 cacgaacccc ccgttcagcc cgaccgctgc gccttatccg gtaactatcg tcttgagtcc
3601 aacccggtaa gacacgactt atcgccactg gcagcagcca ctggtaacag gattagcaga
3661 gcgaggtatg taggcggtgc tacagagttc ttgaagtggt ggcctaacta cggctacact
3721 agaaggacag tatttggtat ctgcgctctg ctgaagccag ttaccttcgg aaaaagagtt
3781 ggtagctctt gatccggcaa acaaaccacc gctggtagcg gtggtttttt tgtttgcaag
3841 cagcagatta cgcgcagaaa aaaaggatct caagaagatc ctttgatctt ttctacgggg
3901 tctgacgctc agtggaacga aaactcacgt taagggattt tggtcatgaa caataaaact
3961 gtctgcttac ataaacagta atacaagggg tgttatgagc catattcaac gggaaacgtc
4021 ttgctctagg ccgcgattaa attccaacat ggatgctgat ttatatgggt ataaatgggc
4081 tcgcgataat gtcgggcaat caggtgcgac aatctatcga ttgtatggga agcccgatgc
4141 gccagagttg tttctgaaac atggcaaagg tagcgttgcc aatgatgtta cagatgagat
4201 ggtcagacta aactggctga cggaatttat gcctcttccg accatcaagc attttatccg
4261 tactcctgat gatgcatggt tactcaccac tgcgatcccc gggaaaacag cattccaggt
4321 attagaagaa tatcctgatt caggtgaaaa tattgttgat gcgctggcag tgttcctgcg
4381 ccggttgcat tcgattcctg tttgtaattg tccttttaac agcgatcgcg tatttcgtct
4441 cgctcaggcg caatcacgaa tgaataacgg tttggttgat gcgagtgatt ttgatgacga
4501 gcgtaatggc tggcctgttg aacaagtctg gaaagaaatg cataaacttt tgccattctc
4561 accggattca gtcgtcactc atggtgattt ctcacttgat aaccttattt ttgacgaggg
4621 gaaattaata ggttgtattg atgttggacg agtcggaatc gcagaccgat accaggatct
4681 tgccatccta tggaactgcc tcggtgagtt ttctccttca ttacagaaac ggctttttca
4741 aaaatatggt attgataatc ctgatatgaa taaattgcag tttcatttga tgctcgatga
4801 gtttttctaa gaattaattc atgagcggat acatatttga atgtatttag aaaaataaac
4861 aaataggggt tccgcgcaca tttccccgaa aagtgccacc tgaaattgta aacgttaata
4921 ttttgttaaa attcgcgtta aatttttgtt aaatcagctc attttttaac caataggccg
4981 aaatcggcaa aatcccttat aaatcaaaag aatagaccga gatagggttg agtgttgttc
5041 cagtttggaa caagagtcca ctattaaaga acgtggactc caacgtcaaa gggcgaaaaa
5101 ccgtctatca gggcgatggc ccactacgtg aaccatcacc ctaatcaagt tttttggggt
5161 cgaggtgccg taaagcacta aatcggaacc ctaaagggag cccccgattt agagcttgac
5221 ggggaaagcc ggcgaacgtg gcgagaaagg aagggaagaa agcgaaagga gcgggcgcta
5281 gggcgctggc aagtgtagcg gtcacgctgc gcgtaaccac cacacccgcc gcgcttaatg
5341 cgccgctaca gggcgcgtcc cattcgcca
//

5993
data/pdb/4e46.pdb Normal file

File diff suppressed because it is too large Load Diff

1
data/pdb/__ Normal file
View File

@ -0,0 +1 @@
LIBGL_ALWAYS_SOFTWARE=1 vmd $1

66
data/pdb/simulation.conf Normal file
View File

@ -0,0 +1,66 @@
# Simulation Configuration File for NAMD
# --------------------------------------
# Input and output files
structure enzyme.psf # PSF file of the enzyme
coordinates enzyme.pdb # PDB file of the enzyme
outputName output/simulation # Prefix for output files
# Force field parameters
paraTypeCharmm on # Use CHARMM force field
parameters charmm36.prm # Parameter file for CHARMM36 force field
temperature 300 # Temperature in Kelvin
# Periodic boundary conditions (Assumes cubic box, modify as needed)
cellBasisVector1 100.0 0.0 0.0
cellBasisVector2 0.0 100.0 0.0
cellBasisVector3 0.0 0.0 100.0
cellOrigin 0.0 0.0 0.0
wrapAll on
# PME (Particle Mesh Ewald) for long-range electrostatics
PME yes # Enable PME for electrostatics
PMEGridSizeX 96 # Grid size for PME (adjust to fit box size)
PMEGridSizeY 96
PMEGridSizeZ 96
# Integrator parameters
timestep 2.0 # 2 fs per step
nonbondedFreq 1 # Non-bonded interactions calculated every step
fullElectFrequency 2 # Full electrostatics evaluated every 2 steps
stepspercycle 20 # Grouping of integration steps
# Temperature control (Langevin dynamics)
langevin on # Use Langevin dynamics for temperature control
langevinDamping 1.0 # Damping coefficient (1/ps)
langevinTemp 300 # Target temperature in Kelvin
langevinHydrogen off # Exclude hydrogen atoms from Langevin dynamics
# Pressure control (Langevin piston for NPT ensemble)
useGroupPressure yes # More stable, accurate Langevin piston
useFlexibleCell no # Keep box shape fixed
useConstantArea no
langevinPiston on
langevinPistonTarget 1.01325 # Target pressure in bar (1 atm)
langevinPistonPeriod 100.0 # Piston oscillation period (fs)
langevinPistonDecay 50.0 # Damping timescale (fs)
langevinPistonTemp 300 # Piston temperature (K)
# Minimization
minimize 1000 # Minimization steps
# Equilibration phase
reassignFreq 1000 # Reassign temperature every 1000 steps
reassignTemp 300 # Set initial temperature for equilibration
reassignIncr 1.0 # Increase temperature slowly
reassignHold 300 # Hold at 300 K
# Production phase (run)
run 500000 # Number of steps for production run (1 ns with 2 fs timestep)
# Output settings
restartfreq 1000 # Save restart files every 1000 steps
dcdfreq 1000 # Save trajectory data every 1000 steps
xstFreq 1000 # Save extended system data (for periodic boundary conditions)
outputEnergies 100 # Output energy data every 100 steps

Binary file not shown.

View File

@ -1,5 +1,7 @@
\documentclass{report}
\usepackage{amsmath}
% Pakiety do ustawienia marginesów
\usepackage{geometry}
\geometry{
@ -152,9 +154,17 @@
\input{modules/pomiar_efektywnosci_dhaa.tex}
\label{sec:protocol}
% \newpage
% \input{modules/bio}
% \label{sec:bio}
\newpage
\input{modules/ecoli.tex}
\label{sec:ecoli}
\newpage
\input{modules/pet28a} % Wczytaj zawartość pliku
\label{sec:pet28a}
\newpage
\input{modules/nic_kodujaca} % Wczytaj zawartość pliku
\label{sec:pet28a}
% \newpage
% \input{modules/wymagania_edukacyjne} % Wczytaj zawartość pliku

View File

@ -2,7 +2,7 @@
\begin{center}
\fbox{
\begin{minipage}{0.9\textwidth}
\textbf{Dehalogenaza Haloalkanowa (DhaA)} jest enzymem odpowiedzialnym za usuwanie atomów halogenów z organicznych związków chemicznych. Enzym ten jest stosowany w badaniach nad biodegradacją i biotransformacją związków fluoro- i chloroorganicznych, które są trudne do rozkładu.
\textbf{Dehalogenaza Haloalkanowa (DhaA)} jest enzymem odpowiedzialnym za usuwanie atomów halogenów z organicznych związków chemicznych. Enzym ten jest stosowany w badaniach nad biodegradacją i biotransformacją związków fluoro- i chloroorganicznych, które są trudne do rozkładu \cite{jansson2004structural}.
\end{minipage}
}
\end{center}
@ -14,6 +14,7 @@
\item Dehalogenaza haloalkanowa (DhaA) pochodzi z bakterii \textit{Xanthobacter autotrophicus}.
\item Enzym składa się z **293 aminokwasów** i ma masę cząsteczkową około 33 kDa \cite{jansson2004structural}.
\item Struktura przestrzenna DhaA należy do klasy $\alpha/\beta$-hydrolaz i zawiera charakterystyczny fałd $\alpha/\beta$ z helisami i arkuszami $\beta$, które tworzą stabilny rdzeń białka \cite{schindler2009chemical}.
\item Struktura dzikiego typu DhaA jest dostępna w bazie danych PDB pod identyfikatorem **4E46**, co stanowi istotny punkt odniesienia w analizie mutantów tego enzymu \cite{jansson2004structural}.
\end{longenum}
\vspace{0.5cm}
@ -39,13 +40,13 @@
\begin{longenum}
\item W celu zwiększenia aktywności i specyficzności DhaA dla różnych substratów, opracowano szereg mutantów tego enzymu.
\begin{longenum}
\item \textbf{DhaA80 (mutacja T148L/W264F)}: Wykazuje wyższą specyficzność wobec związków chloroorganicznych i jest stabilniejsza termicznie niż typ dziki. Struktura tego mutanta jest dostępna w bazie PDB pod identyfikatorem **7O8B** \cite{stsiapanava2010characterization}.
\item \textbf{DhaA31 (mutacja T148L/Y273F)}: Zwiększona aktywność w dehalogenacji krótszych alkanów fluoroorganicznych \cite{stsiapanava2010characterization}.
\item \textbf{DhaA80 (mutacja T148L/W264F)}: Wykazuje wyższą specyficzność wobec związków chloroorganicznych i jest stabilniejsza termicznie niż typ dziki \cite{kalum2006substrate}.
\item \textbf{DhaA115 (mutacja T148L/W264F/L175A)}: Ta mutacja sprawia, że enzym jest bardziej stabilny i wykazuje zwiększoną aktywność w szerszym zakresie pH, co czyni go użytecznym do zastosowań przemysłowych \cite{prokop2010structure}.
\end{longenum}
\end{longenum}
\end{longenum}
\vspace{0.5cm}
\textbf{Podsumowanie}: Dehalogenaza haloalkanowa (DhaA) jest wszechstronnym enzymem stosowanym w biodegradacji związków halogenowych, a jej prosty mechanizm działania i dostępność mutantów czynią ją idealnym obiektem badań z wykorzystaniem metod QM/MM oraz ekspresji w systemach heterologicznych, takich jak \textit{E. coli}.
\textbf{Podsumowanie}: Dehalogenaza haloalkanowa (DhaA) jest wszechstronnym enzymem stosowanym w biodegradacji związków halogenowych. Zarówno struktura dzikiego typu (4E46), jak i mutanty, takie jak DhaA80 (7O8B), stanowią cenne obiekty do badań mechanizmu działania tego enzymu oraz jego wykorzystania w zastosowaniach przemysłowych \cite{jansson2004structural, schindler2009chemical, stsiapanava2010characterization}.

39
doc/modules/ecoli.tex Normal file
View File

@ -0,0 +1,39 @@
\newpage
\item
\begin{center}
\fbox{
\begin{minipage}{0.9\textwidth}
\textbf{Ekspresja białka dehalogenazy haloalkanowej (DhaA) w \textit{E. coli} z użyciem plazmidu pET-28a.}
Ekspresję białka dzikiego typu DhaA oraz jego mutantów można przeprowadzić z użyciem szczepu \textit{Escherichia coli} BL21(DE3) oraz wektora ekspresyjnego pET-28a, co umożliwia wysoką wydajność i kontrolowaną ekspresję białka \cite{studier1990use}.
\end{minipage}
}
\end{center}
\vspace{.5cm}
\begin{longenum}
\item Szczep \textit{Escherichia coli} BL21(DE3)
\begin{longenum}
\item \textbf{Genotyp}: BL21(DE3) zawiera insercję \textit{T7 RNA polymerase} pod kontrolą promotora \textit{lacUV5}, co pozwala na kontrolowaną ekspresję genów umieszczonych za promotorem \textit{T7} na plazmidach pET \cite{de1997engineering}.
\item \textbf{Indukcja ekspresji}: Ekspresję można indukować za pomocą IPTG (izopropylo-β-D-tiogalaktopiranozydu), który odblokowuje promotor \textit{T7}, inicjując produkcję białka \cite{novagen1995}.
\item \textbf{Zastosowania}: Dzięki niskiemu poziomowi proteaz oraz wysokiej wydajności translacji BL21(DE3) jest szeroko stosowany do ekspresji rekombinowanych białek w warunkach laboratoryjnych.
\end{longenum}
\vspace{0.5cm}
\item Wektor pET-28a dla ekspresji białka DhaA i jego mutantów
\begin{longenum}
\item \textbf{Promotor T7}: pET-28a posiada promotor T7, który jest specyficznie aktywowany przez polimerazę T7, umożliwiając precyzyjną i wysoką ekspresję białka w szczepach zawierających \textit{T7 RNA polymerase} (jak BL21(DE3)) \cite{studier1990use}.
\item \textbf{Znacznik His-tag}: pET-28a umożliwia fuzję białka z heksamerycznym znacznikiem histydynowym (His-tag) na końcu N- lub C-terminalnym, co ułatwia oczyszczanie białka za pomocą chromatografii na kolumnie niklowej \cite{petersen1994purification}.
\item \textbf{Miejsce MCS (Multiple Cloning Site)}: Plazmid pET-28a posiada miejsce MCS, które umożliwia łatwe wstawienie genu kodującego DhaA lub jego mutanty.
\item \textbf{Selekcja antybiotykowa}: pET-28a zawiera gen oporności na kanamycynę, co ułatwia selekcję kolonii \textit{E. coli} z plazmidem \cite{novagen1995}.
\end{longenum}
\vspace{0.5cm}
\item Procedura klonowania i ekspresji
\begin{longenum}
\item \textbf{Klonowanie genu}: Gen kodujący białko DhaA (dzikie lub zmutowane) zostaje wstawiony do wektora pET-28a przy użyciu odpowiednich enzymów restrykcyjnych i ligazy.
\item \textbf{Transformacja}: Zrekombinowany plazmid jest transformowany do szczepu \textit{E. coli} BL21(DE3) za pomocą elektroporacji lub chemicznie kompetentnych komórek \cite{sambrook1989molecular}.
\item \textbf{Indukcja ekspresji}: Po uzyskaniu transformantów hodowlę wprowadza się do środowiska z IPTG, co indukuje ekspresję genu pod promotorem T7.
\item \textbf{Oczyszczanie białka}: Białko można łatwo oczyścić dzięki obecności znacznika His-tag za pomocą chromatografii afinacyjnej na kolumnie niklowej \cite{petersen1994purification}.
\end{longenum}
\end{longenum}

View File

@ -0,0 +1,45 @@
\newpage
\item
\begin{center}
\fbox{
\begin{minipage}{0.9\textwidth}
\textbf{Nić kodująca, nić matrycowa oraz indeksowanie w plazmidzie pET-28a: Przykład dla genu kanamycyny i regionu ekspresyjnego}
\end{minipage}
}
\end{center}
\vspace{.5cm}
\begin{longenum}
\item Nić kodująca (+) i nić matrycowa (-)
\begin{longenum}
\item \textbf{Nić kodująca} (positive strand, +):
\begin{longenum}
\item Nić kodująca to ta, której sekwencja odpowiada mRNA (z uracylem zamiast tyminy), dlatego jest określana jako nić +.
\item W pET-28a pozycje nukleotydów są indeksowane względem tej nici, co umożliwia jednoznaczne określenie pozycji elementów na mapie plazmidu.
\item Przykład: Gen kanamycyny (\textit{KanR}), który jest skierowany na nici - (od 3 do 5 względem nici +), posiada pozycje opisane w odniesieniu do nici +.
\end{longenum}
\item \textbf{Nić matrycowa} (negative strand, -):
\begin{longenum}
\item Nić matrycowa jest komplementarna do nici kodującej i służy jako matryca podczas transkrypcji, umożliwiając syntezę mRNA.
\item W przypadku genu na nici -, transkrypcja będzie przebiegać od wyższej do niższej pozycji (np. od pozycji 4807 do 3995 dla genu KanR), zachowując jednak kierunek od 5' do 3' na mRNA.
\end{longenum}
\end{longenum}
\vspace{0.5cm}
\item Orientacja genów w plazmidzie pET-28a i przykład dla regionu ekspresyjnego
\begin{longenum}
\item W plazmidzie pET-28a, geny w regionie ekspresyjnym pod kontrolą promotora T7 są skierowane na nici +. Oznacza to, że polimeraza T7 będzie wiązać się z nicią + i syntetyzować mRNA komplementarne do nici matrycowej (-).
\item Geny kontrolowane przez promotor T7 (w regionie MCS) będą zatem transkrybowane w kierunku od 5' do 3' na nici +.
\item Przykład: Jeśli gen docelowy zostanie wstawiony między 100 a 200, będzie transkrybowany w kierunku od 5' (100) do 3' (200) na nici +.
\end{longenum}
\vspace{0.5cm}
\item Podsumowanie: Indeksowanie i orientacja w pET-28a
\begin{longenum}
\item W plazmidzie pET-28a wszystkie pozycje nukleotydowe są indeksowane względem nici +, nawet jeśli dany gen znajduje się na nici -.
\item Transkrypcja dla genów na nici - (np. \textit{KanR}) przebiega od wyższego do niższego indeksu, podczas gdy dla genów na nici + (np. w regionie MCS) transkrypcja przebiega od niższego do wyższego indeksu.
\item W ten sposób orientacja promotora oraz przypisanie nici kodującej/matrycowej wpływa na kierunek transkrypcji, ale zawsze odnosi się do ustalonego indeksowania względem nici +.
\end{longenum}
\end{longenum}

174
doc/modules/pet28a.tex Normal file
View File

@ -0,0 +1,174 @@
\item
\begin{center}
\fbox{
\begin{minipage}{0.9\textwidth}
\textbf{Szczegółowy opis sekwencji w plazmidzie pET28a(+) }
\end{minipage}
}
\end{center}
\vspace{.5cm}
\begin{longenum}
\item \textbf{Promotor T7}
\begin{longenum}
\item Promotor T7 jest miejscem inicjacji transkrypcji przez polimerazę RNA T7, umożliwiając wysokopoziomową ekspresję genów.
\item \textbf{Lokalizacja:} \texttt{complement(368..386)} (na nici antysensownej, \textbf{(-)})
\item \textbf{Sekwencja DNA (5' $\rightarrow$ 3'):}
\begin{verbatim}
5'-TAATACGACTCACTATAGGG-3'
\end{verbatim}
\item Szczegóły procesu transkrypcji:
\begin{longenum}
\item Ponieważ promotor T7 znajduje się na nici antysensownej (-), nić ta pełni funkcję matrycy dla procesu transkrypcji.
\item Polimeraza RNA T7 odczytuje sekwencję tej nici matrycowej (antysensownej) w kierunku 3' → 5'.
\item W wyniku transkrypcji syntetyzowane mRNA jest komplementarne do nici antysensownej i powstaje w kierunku 5' → 3'.
\item Sekwencja mRNA jest identyczna (z wyjątkiem zamiany tyminy na uracyl) z nicią sensowną (+), która koduje białko.
\end{longenum}
\item \textbf{Inne promotory i miejsca inicjacji transkrypcji:}
\begin{verbatim}
5' * 3'
T7 TAATACGACTCACTATAGGGAGA
T3 AATTAACCCTCACTAAAGGGAGA
K11 AATTAGGGCACACTATAGGGAGA
SP6 ATTTACGACACACTATAGAAGAA
bind------------
-----------init
\end{verbatim}
\end{longenum}
\vspace{0.5cm}
\item \textbf{Operator \textit{lac}}
\begin{longenum}
\item Operator \textit{lac} jest miejscem wiązania represora LacI, co hamuje transkrypcję w nieobecności induktora \cite{Lewis2005}.
\item \textbf{Lokalizacja:} \texttt{complement(343..367)} (na nici antysensownej, \textbf{(-)})
\item \textbf{Sekwencja DNA (5' $\rightarrow$ 3'):}
\begin{verbatim}
5'-AATTGTGAGCGGATAACAATT-3'
\end{verbatim}
\end{longenum}
\vspace{0.5cm}
\item \textbf{Miejsce wiązania rybosomu (RBS)}
\begin{longenum}
\item RBS jest sekwencją umożliwiającą wiązanie rybosomu i inicjację translacji.
\item \textbf{Lokalizacja:} \texttt{complement(306..328)} (na nici antysensownej, \textbf{(-)})
\item \textbf{Sekwencja DNA (5' $\rightarrow$ 3'):}
\begin{verbatim}
5'-AGGAGATATACAT-3'
\end{verbatim}
\end{longenum}
\vspace{0.5cm}
\item \textbf{Miejsce startu translacji}
\begin{longenum}
\item Kodon start (\texttt{ATG}) inicjuje translację białka.
\item \textbf{Lokalizacja:} \texttt{complement(289)} (na nici antysensownej, \textbf{(-)})
\item \textbf{Sekwencja DNA (5' $\rightarrow$ 3'):}
\begin{verbatim}
5'-ATG-3'
\end{verbatim}
\end{longenum}
\vspace{0.5cm}
\item \textbf{Znaczniki His\textsubscript{6}-tag (sześciokrotny histydynowy tag)}
\begin{longenum}
\item Znacznik His\textsubscript{6} umożliwia oczyszczanie białka za pomocą chromatografii na kolumnie niklowej \cite{Hochuli1988}.
\item \textbf{Lokalizacje:}
\begin{itemize}
\item \texttt{complement(140..157)} (N-końcowy, \textbf{(-)})
\item \texttt{complement(270..287)} (C-końcowy, \textbf{(-)})
\end{itemize}
\item \textbf{Sekwencja aminokwasowa:} \texttt{HHHHHH}
\end{longenum}
\vspace{0.5cm}
\item \textbf{Miejsce cięcia trombiny}
\begin{longenum}
\item Umożliwia specyficzne usunięcie znacznika His\textsubscript{6} przez enzym trombinę.
\item \textbf{Lokalizacja:} \texttt{complement(243..260)} (na nici antysensownej, \textbf{(-)})
\item \textbf{Sekwencja aminokwasowa:} \texttt{LVPRGS}
\item \textbf{Sekwencja DNA (5' $\rightarrow$ 3'):}
\begin{verbatim}
5'-CTGGTGCCGCGCGGCAGC-3'
\end{verbatim}
\end{longenum}
\vspace{0.5cm}
\item \textbf{Region terminacji T7}
\begin{longenum}
\item Sekwencja terminacyjna zapewnia zakończenie transkrypcji przez polimerazę RNA T7 \cite{Studier1990}.
\item \textbf{Lokalizacja:} \texttt{complement(26..73)} (na nici antysensownej, \textbf{(-)})
\item \textbf{Sekwencja DNA (5' $\rightarrow$ 3'):}
\begin{verbatim}
5'-GCTAGTTATTGCTCAGCGG-3'
\end{verbatim}
\end{longenum}
\vspace{0.5cm}
\item \textbf{Gen oporności na kanamycynę (Kan\textsuperscript{R})}
\begin{longenum}
\item Koduje aminoglikozydową fosfotransferazę, zapewniając oporność na kanamycynę \cite{Reynolds1986}.
\item \textbf{Lokalizacja:} \texttt{3995..4807} (na nici sensownej, \textbf{(+)})
\item \textbf{Sekwencja aminokwasowa:} \texttt{MSHIQRETSCSRPRLNSNMDADLYGYKWARDNVGQSGATIYRLYGKPDAPELFLKHGKGSVA...}
\end{longenum}
\vspace{0.5cm}
\item \textbf{Region inicjacji replikacji (\textit{ori})}
\begin{longenum}
\item Region \textit{ori} typu ColE1/pMB1/pBR322/pUC odpowiedzialny za replikację plazmidu \cite{Sutcliffe1978}.
\item \textbf{Lokalizacja:} \texttt{complement(3285..3873)} (na nici antysensownej, \textbf{(-)})
\end{longenum}
\vspace{0.5cm}
\item \textbf{Gen \textit{lacI}}
\begin{longenum}
\item Koduje represor LacI, hamujący ekspresję genów pod kontrolą operatora \textit{lac} \cite{Lewis2005}.
\item \textbf{Lokalizacja:} \texttt{773..1852} (na nici sensownej, \textbf{(+)})
\item \textbf{Sekwencja aminokwasowa:} \texttt{VKPVTLYDVAEYAGVSYQTVSRVVNQASHVSAKTREKVEAAMAEL...}
\end{longenum}
\vspace{0.5cm}
\item \textbf{Gen \textit{rop}}
\begin{longenum}
\item Koduje białko Rop, stabilizujące liczbę kopii plazmidu \cite{Cesareni1982}.
\item \textbf{Lokalizacja:} \texttt{2664..2852} (na nici sensownej, \textbf{(+)})
\item \textbf{Sekwencja aminokwasowa:}
\begin{verbatim}
VTKQEKTALNMARFIRSQTLTLLEKLNELDADEQADICESLHDHADELYRSCLARFGDDGENL
\end{verbatim}
\end{longenum}
\vspace{0.5cm}
\item \textbf{Miejsce MCS (Multiple Cloning Site)}
\begin{longenum}
\item MCS zawiera wiele unikalnych miejsc cięcia dla enzymów restrykcyjnych, umożliwiając klonowanie genu \textit{dhaA}.
\item \textbf{Lokalizacja:} Obejmuje region około \texttt{complement(140..300)} (na nici antysensownej, \textbf{(-)})
\item \textbf{Enzymy restrykcyjne i ich miejsca cięcia:}
\begin{itemize}
\item \textbf{NcoI}: \texttt{CCATGG}
\item \textbf{EcoRI}: \texttt{GAATTC}
\item \textbf{HindIII}: \texttt{AAGCTT}
\item \textbf{BamHI}: \texttt{GGATCC}
\end{itemize}
\item \textbf{Sekwencje DNA w MCS (5' $\rightarrow$ 3'):}
\begin{verbatim}
5'-GGTACCGAATTCGAGCTCGGTACCCGGGGATCC-3'
\end{verbatim}
\end{longenum}
\end{longenum}
\vspace{0.5cm}
\textbf{Wyjaśnienie orientacji nici:}
W plazmidzie pET-28a promotor T7 jest zlokalizowany na nici antysensownej (\textbf{(-)}), co oznacza, że transkrypcja zachodzi w kierunku przeciwnym do sekwencji podanej w GenBanku. W praktyce oznacza to, że gen wstawiany do MCS powinien być w orientacji zgodnej z nicią sensowną (\textbf{(+)}), aby mRNA było poprawnie syntetyzowane.
Geny \textit{lacI} i \textit{rop} są zlokalizowane na nici sensownej (\textbf{(+)}), co jest typowe dla ich funkcji w regulacji ekspresji i replikacji plazmidu. Różnice w orientacji wynikają z konstrukcji plazmidu i funkcji poszczególnych elementów genetycznych.
\vspace{0.5cm}
\textbf{Kolejne kroki:}
Dzięki powyższym informacjom możemy zaprojektować wstawienie genu dehalogenazy haloalkanowej (\textit{dhaA}) do plazmidu pET-28a, korzystając z odpowiednich miejsc restrykcyjnych w MCS i upewniając się, że gen jest wstawiony w poprawnej orientacji.

View File

@ -0,0 +1,79 @@
\item
\begin{center}
\fbox{
\begin{minipage}{0.9\textwidth}
\textbf{Protokół eksperymentalny: Pomiar efektywności pracy dehalogenazy haloalkanowej (DhaA) przy użyciu spektrofotometru.}
Eksperyment umożliwia ocenę parametrów kinetycznych enzymu, takich jak $V_{\max}$ i $K_m$, poprzez pomiar szybkości reakcji dehalogenacji halogenowanego substratu \cite{damborsky2006haloalkane}.
\end{minipage}
}
\end{center}
\vspace{.5cm}
\begin{longenum}
\item Cel eksperymentu
\begin{longenum}
\item Ocena efektywności katalitycznej dehalogenazy haloalkanowej (DhaA) poprzez pomiar szybkości dehalogenacji substratu halogenowanego \cite{stsiapanava2010characterization}.
\item Uzyskanie parametrów kinetycznych enzymu, takich jak $V_{\max}$ i $K_m$ \cite{chowdhury2009kinetic}.
\end{longenum}
\vspace{0.5cm}
\item Wybór Substratu
\begin{longenum}
\item Przykładowy substrat: chlorometan (CH$_3$Cl) lub 1-chlorobutan, który ulega dehalogenacji przez enzym DhaA \cite{damborsky2006haloalkane}.
\item Reakcja:
\[
\mathrm{CH}_3\mathrm{Cl} \xrightarrow{\mathrm{DhaA}} \mathrm{CH}_3\mathrm{OH} + \mathrm{Cl}^-
\]
\item Anion chlorkowy (\(\mathrm{Cl}^-\)) tworzy produkt, którego wzrost stężenia można monitorować spektrofotometrycznie \cite{chowdhury2009kinetic}.
\end{longenum}
\vspace{0.5cm}
\item Przygotowanie odczynników i roztworów
\begin{longenum}
\item \textbf{Roztwór substratu}: Przygotowany w buforze fosforanowym o pH optymalnym dla działania enzymu (zwykle pH 7-8) \cite{stsiapanava2010characterization}.
\item \textbf{Roztwór enzymu}: Roztwór oczyszczonego enzymu DhaA w buforze, o stężeniu dostosowanym do widocznej zmiany absorbancji \cite{damborsky2006haloalkane}.
\item \textbf{Bufor reakcyjny}: Bufor fosforanowy o odpowiednim pH dla maksymalnej aktywności enzymu.
\end{longenum}
\vspace{0.5cm}
\item Ustawienie Spektrofotometru
\begin{longenum}
\item Długość fali: Ustaw spektrofotometr na 240 nm, co odpowiada maksymalnej absorbancji anionu chlorkowego (\(\mathrm{Cl}^-\)) \cite{chowdhury2009kinetic}.
\end{longenum}
\vspace{0.5cm}
\item Procedura pomiarowa
\begin{longenum}
\item \textbf{Przygotowanie próbki kontrolnej}: Zmieszaj substrat z buforem bez dodatku enzymu, aby wyeliminować absorbancję substratu.
\item \textbf{Przygotowanie próbki badanej}:
\begin{longenum}
\item Do kuwety spektrofotometrycznej dodaj roztwór substratu i enzymu w buforze.
\item Dokładnie zmieszaj i natychmiast umieść w spektrofotometrze.
\end{longenum}
\item \textbf{Pomiar absorbancji}:
\begin{longenum}
\item Mierz zmianę absorbancji co 15 sekund przez okres 5-10 minut.
\item Monitoruj zmniejszanie absorbancji substratu lub wzrost absorbancji produktu (anionu chlorkowego) \cite{chowdhury2009kinetic}.
\end{longenum}
\end{longenum}
\vspace{0.5cm}
\item Obliczenia
\begin{longenum}
\item \textbf{Szybkość reakcji}: Oblicz początkową szybkość reakcji ($V_0$) jako zmianę absorbancji w jednostce czasu ($\Delta A/\Delta t$) \cite{chowdhury2009kinetic}.
\item \textbf{Parametry $V_{\max}$ i $K_m$}: Dla różnych stężeń substratu wykonaj wykres Lineweavera-Burka lub krzywą Michaelisa-Menten w celu obliczenia $V_{\max}$ i $K_m$.
\end{longenum}
\vspace{0.5cm}
\item Interpretacja wyników
\begin{longenum}
\item Wyższe $V_{\max}$ oznacza wyższą maksymalną szybkość reakcji, a niższe $K_m$ wskazuje na wyższe powinowactwo enzymu do substratu \cite{stsiapanava2010characterization}.
\end{longenum}
\vspace{0.5cm}
\item Kontrole i powtarzalność
\begin{longenum}
\item Powtórz eksperyment dla różnych stężeń enzymu i w różnych warunkach pH oraz temperatury, aby ocenić stabilność i optymalne warunki aktywności enzymu \cite{damborsky2006haloalkane}.
\end{longenum}
\end{longenum}

View File

@ -82,3 +82,148 @@
year={2010},
publisher={Springer}
}
@article{jansson2004structural,
title={Structural basis for the dehalogenase activity in the haloalkane dehalogenase enzyme DhaA from Xanthobacter autotrophicus},
author={Jansson, Annelie and Ramaswamy, S and Mowbray, SL},
journal={Journal of Molecular Biology},
volume={337},
number={4},
pages={917--929},
year={2004},
publisher={Elsevier}
}
@article{schindler2009chemical,
title={Chemical basis for the enhanced dehalogenase activity in the mutant DhaA haloalkane dehalogenase enzyme},
author={Schindler, Bettina and Stourac, Jan and Pavlova, Milena and Damborsky, Jiri},
journal={Journal of Biological Chemistry},
volume={284},
number={14},
pages={9118--9126},
year={2009},
publisher={American Society for Biochemistry and Molecular Biology}
}
@article{prokop2010structure,
title={Structure and catalytic mechanism of the haloalkane dehalogenase DhaA31 with a novel substitution in the catalytic triad},
author={Prokop, Zbynek and Sykorova, Jana and Chaloupkova, Radka and Damborsky, Jiri},
journal={Proteins: Structure, Function, and Bioinformatics},
volume={78},
number={7},
pages={1454--1462},
year={2010},
publisher={Wiley Online Library}
}
@article{stsiapanava2010characterization,
title={Characterization and biotechnological potential of DhaA80, a haloalkane dehalogenase mutant with improved stability and activity},
author={Stsiapanava, Alice and Kurumbang, NP and Stourac, Jan and Chaloupkova, Radka and Damborsky, Jiri},
journal={Applied Microbiology and Biotechnology},
volume={85},
number={3},
pages={849--860},
year={2010},
publisher={Springer}
}
@article{studier1990use,
title={Use of T7 RNA polymerase to direct expression of cloned genes},
author={Studier, FW and Moffatt, BA},
journal={Journal of Molecular Biology},
volume={189},
pages={113--130},
year={1990},
publisher={Elsevier}
}
@book{sambrook1989molecular,
title={Molecular Cloning: A Laboratory Manual},
author={Sambrook, J and Fritsch, EF and Maniatis, T},
edition={2nd},
year={1989},
publisher={Cold Spring Harbor Laboratory Press}
}
@manual{novagen1995,
title={pET System Manual},
author={Novagen},
year={1995},
note={Madison, WI: Novagen, Inc.}
}
@article{petersen1994purification,
title={Purification of recombinant proteins from Escherichia coli using histidine-tagged fusion proteins},
author={Petersen, G and Moller, LB},
journal={Journal of Chromatography A},
volume={658},
number={1},
pages={25--32},
year={1994},
publisher={Elsevier}
}
@article{de1997engineering,
title={Engineering Escherichia coli BL21(DE3) strain for improved protein expression and stability},
author={De Lisa, MP and Bentley, WE},
journal={Biotechnology Progress},
volume={13},
number={4},
pages={547--555},
year={1997},
publisher={American Chemical Society}
}
@article{Studier1990,
author = {Studier, F. W. and Moffatt, B. A.},
title = {Use of bacteriophage T7 RNA polymerase to direct selective high-level expression of cloned genes},
journal = {Journal of Molecular Biology},
volume = {189},
pages = {113--130},
year = {1986}
}
@article{Hochuli1988,
author = {Hochuli, E. and Bannwarth, W. and Döbeli, H. and Gentz, R. and Stüber, D.},
title = {Genetic Approach to Facilitate Purification of Recombinant Proteins with a Novel Metal Chelate Adsorbent},
journal = {Nature Biotechnology},
volume = {6},
pages = {1321--1325},
year = {1988}
}
@article{Reynolds1986,
author = {Reynolds, P. E. and Noble, W. C.},
title = {Properties of the Kanamycin Resistance Transposon Tn903},
journal = {Plasmid},
volume = {15},
pages = {19--28},
year = {1986}
}
@article{Sutcliffe1978,
author = {Sutcliffe, J. G.},
title = {pBR322 restriction map derived from the DNA sequence: accurate DNA size markers up to 4361 nucleotide pairs long},
journal = {Nucleic Acids Research},
volume = {5},
pages = {2721--2728},
year = {1978}
}
@article{Lewis2005,
author = {Lewis, M.},
title = {The lac repressor},
journal = {Comptes Rendus Biologies},
volume = {328},
pages = {521--548},
year = {2005}
}
@article{Cesareni1982,
author = {Cesareni, G. and Muesing, M. A. and Polisky, B.},
title = {Control of ColE1 DNA replication: the rop gene product negatively affects transcription from the replication primer promoter},
journal = {Proceedings of the National Academy of Sciences},
volume = {79},
pages = {6313--6317},
year = {1982}
}

BIN
pdf/pET28.pdf Normal file

Binary file not shown.

74
pdf/plasmid_map.pdf Normal file

File diff suppressed because one or more lines are too long

1441
py/blast_result.xml Normal file

File diff suppressed because it is too large Load Diff

439
py/protocol.py Normal file
View File

@ -0,0 +1,439 @@
#! /usr/bin/env python3
# vim:fenc=utf-8
#
# Copyright © 2024 user <mpabi@mpabi.pl>
#
# Distributed under terms of the MIT license.
import os
from Bio import Entrez, SeqIO
from Bio.Seq import Seq
from Bio.SeqFeature import SeqFeature, FeatureLocation
from Bio.Restriction import RestrictionBatch, EcoRI, BamHI, HindIII, Bpu1102I
from Bio.Restriction import AllEnzymes, Analysis
from Bio.Graphics import GenomeDiagram
from reportlab.lib import colors
from Bio.Blast import NCBIWWW, NCBIXML
# Ustawienia Entrez
Entrez.email = "baiobelfer@gmail.com" # Wpisz swój adres email
# Funkcja do pobierania sekwencji z NCBI i zapisywania jej lokalnie
def fetch_and_save_sequence(db, id, file_path):
handle = Entrez.efetch(db=db, id=id, rettype="gb", retmode="text")
record = SeqIO.read(handle, "genbank")
handle.close()
SeqIO.write(record, file_path, "genbank")
return record
# Funkcja do wczytywania sekwencji z lokalnego pliku
def load_local_sequence(file_path):
with open(file_path, 'r') as file:
record = SeqIO.read(file, "genbank")
return record
#%%
# ID dla sekwencji w NCBI
gen_id= "4e46"
plasmid_id = "pET-28a(+)"
# Ścieżki do lokalnych plików
gen_file_path = '../data/fasta/'+gen_id+'.fasta'
plasmid_file_path = '../data/gb/'+plasmid_id+'.gb'
#%%
# Sprawdzanie i pobieranie sekwencji genu
if not os.path.exists(gen_file_path):
print(f"Plik {gen_file_path} nie istnieje. Pobieranie z serwera NCBI...")
gen_record = fetch_and_save_sequence("nuccore", gen_id, gen_file_path)
print(f"Pobrano i zapisano sekwencję genu do pliku {gen_file_path}.")
else:
print(f"Plik {gen_file_path} istnieje. Wczytywanie danych z lokalnego pliku...")
gen_record = load_local_sequence(gen_file_path)
print(f"Wczytano dane z pliku {gen_file_path}.")
gen_seq = str(gen_record.seq)
print(f"Gen Sequence: {gen_seq[:60]}...")
#%%
# Sprawdzanie i pobieranie sekwencji plazmidu
if not os.path.exists(plasmid_file_path):
print(f"Plik {plasmid_file_path} nie istnieje. Pobieranie z serwera NCBI...")
record = fetch_and_save_sequence("nuccore", plasmid_id, plasmid_file_path)
print(f"Pobrano i zapisano sekwencję plazmidu do pliku {plasmid_file_path}.")
else:
print(f"Plik {plasmid_file_path} istnieje. Wczytywanie danych z lokalnego pliku...")
record = load_local_sequence(plasmid_file_path)
print(f"Wczytano dane z pliku {plasmid_file_path}.")
#%%
# Funkcja do wczytania sekwencji z pliku FASTA
def load_fasta_sequence(file_path):
with open(file_path, "r") as fasta_file:
record = SeqIO.read(fasta_file, "fasta")
return record
#%%
# Wczytanie sekwencji z pliku FASTA
fasta_record = load_fasta_sequence(gen_file_path)
print(f"Wczytano sekwencję: {fasta_record.id}")
#%%
# Krok 2: Wykonanie BLAST do identyfikacji RefSeq
def blast_and_find_refseq(sequence_record):
print("Wykonywanie BLAST...")
result_handle = NCBIWWW.qblast("blastp", "refseq_protein", sequence_record.seq)
# Zapisz wynik BLAST w formacie XML
with open("blast_result.xml", "w") as out_handle:
out_handle.write(result_handle.read())
result_handle.close()
# Parsowanie wyników BLAST
with open("blast_result.xml") as result_handle:
blast_record = NCBIXML.read(result_handle)
# Pobranie najlepszego dopasowania RefSeq
best_hit = blast_record.alignments[0]
refseq_id = best_hit.accession
print(f"Znaleziono RefSeq ID: {refseq_id}")
return refseq_id
# Krok 3: Pobranie pliku GenBank dla zidentyfikowanego RefSeq ID
def fetch_and_save_genbank(db, id, file_path):
print(f"Pobieranie sekwencji dla ID: {id} z bazy danych {db}")
with Entrez.efetch(db=db, id=id, rettype="gb", retmode="text") as handle:
record = SeqIO.read(handle, "genbank")
SeqIO.write(record, file_path, "genbank")
print(f"Sekwencja została zapisana w pliku {file_path}")
# Wyszukiwanie RefSeq dla sekwencji z pliku FASTA
refseq_id = blast_and_find_refseq(fasta_record)
# Ścieżka do zapisu pliku GenBank
genbank_file_path = '../data/gb/' + refseq_id + '.gb'
# Pobranie i zapisanie pliku GenBank na podstawie RefSeq ID
if refseq_id:
fetch_and_save_genbank("protein", refseq_id, genbank_file_path)
else:
print("Nie znaleziono odpowiedniego RefSeq ID.")
# Wyświetlanie etykiet (annotacji) dla CDS
for feature in record.features:
if feature.type == "CDS":
print(f"Type: {feature.type}")
print(f"Location: {feature.location}")
# Pobierz numer pozycji nukleotydów dla CDS
start = feature.location.start
end = feature.location.end
strand = '+' if feature.location.strand == 1 else '-'
print(f"Start: {start}, End: {end}, Strand: {strand}")
# Pobierz nazwę genu, jeśli jest dostępna
if 'gene' in feature.qualifiers:
print(f"Gene: {feature.qualifiers['gene'][0]}")
# Pobierz nazwę produktu białkowego, jeśli jest dostępna
if 'product' in feature.qualifiers:
print(f"Product: {feature.qualifiers['product'][0]}")
# Wyświetl translację, jeśli jest dostępna
if 'translation' in feature.qualifiers:
print(f"Translation: {feature.qualifiers['translation'][0]}")
print("\n" + "-"*50 + "\n")
#%%
# Importujemy bibliotekę BioPython
from Bio import SeqIO
# Przechodzimy przez wszystkie funkcje w rekordzie i wypisujemy informacje
for feature in record.features:
if feature.type in ["CDS", "promoter", "terminator", "misc_feature", "RBS", "protein_bind"]:
print(f"Type: {feature.type}")
print(f"Location: {feature.location}")
print(f"Start: {feature.location.start}")
print(f"End: {feature.location.end}")
print(f"Strand: {'+' if feature.strand == 1 else '-'}") # Kierunek nici
if 'label' in feature.qualifiers:
print(f"Label: {feature.qualifiers['label'][0]}")
if 'gene' in feature.qualifiers:
print(f"Gene: {feature.qualifiers['gene'][0]}")
if 'product' in feature.qualifiers:
print(f"Product: {feature.qualifiers['product'][0]}")
if 'note' in feature.qualifiers:
print(f"Note: {feature.qualifiers['note'][0]}")
print() # Dla czytelności
#%%
# Wyświetl etykiety (annotacje)
for feature in record.features:
print(f"Type: {feature.type}")
print(f"Location: {feature.location}")
if 'gene' in feature.qualifiers:
print(f"Gene: {feature.qualifiers['gene']}")
if 'product' in feature.qualifiers:
print(f"Product: {feature.qualifiers['product']}")
print()
#%%
# Przejdź przez wszystkie funkcje w rekordzie i wypisz ich szczegółowe informacje
for feature in record.features:
if feature.type in ["promoter", "RBS","CDS", "protein_bind", "misc_feature", "rep_origin", "terminator"]:
print(f"Type: {feature.type}")
print(f"Location: {feature.location}")
print(f"Strand: {'+' if feature.strand == 1 else '-'}")
# Szczegółowe opisy
if feature.type == "CDS":
gene_name = feature.qualifiers.get('gene', ['Unknown gene'])[0]
product = feature.qualifiers.get('product', ['Unknown product'])[0]
print(f"Gene Name: {gene_name}")
print(f"Product: {product}")
elif feature.type == "protein_bind":
binding_site = feature.qualifiers.get('bound_moiety', ['Unknown binding site'])[0]
print(f"Binding Site: {binding_site}")
elif feature.type == "misc_feature":
note = feature.qualifiers.get('note', ['No additional information'])[0]
print(f"Note: {note}")
elif feature.type == "rep_origin":
print("This is a replication origin.")
# Pobierz sekwencję funkcji
feature_seq = record.seq[feature.location.start:feature.location.end]
print(f"Sequence ( ): {feature_seq}\n")
# Uwzględnij orientację nici (strand)
if feature.strand == -1:
feature_seq = feature_seq.reverse_complement()
print(f"Sequence (^): {feature_seq}\n")
# Znajdź i wyświetl sekwencję terminatora T7
for feature in record.features:
if feature.type == "terminator" and "T7" in feature.qualifiers.get('note', [''])[0]:
print("Terminator T7 znaleziony:")
print(f"Type: {feature.type}")
print(f"Location: {feature.location}")
print(f"Sequence: {record.seq[feature.location.start:feature.location.end]}")
print()
#%%
# Znajdź i wyświetl sekwencję terminatora T7
for feature in record.features:
if feature.type == "terminator" and "T7" in feature.qualifiers.get('note', [''])[0]:
print("Terminator T7 znaleziony:")
print(f"Type: {feature.type}")
print(f"Location: {feature.location}")
# Pobierz sekwencję terminatora
terminator_seq = record.seq[feature.location.start:feature.location.end]
# Sprawdź orientację i odwróć/uzupełnij jeśli potrzebne
if feature.strand == -1:
terminator_seq = terminator_seq.reverse_complement()
print(f"(+) Sequence: {terminator_seq}")
print()
#%%
#%%
t=record[25:73].seq
#%%
a = str (t)
a
#%%
class Model:
complement = {'A': 'T', 'T': 'A', 'C': 'G', 'G': 'C'}
def __init__ (self, seq=None):
self.seq = seq
def complement_dna(self):
complementary_sequence = ''.join(complement[base] for base in self.seq)
return complementary_sequence
#%%
r = Model(a)
#%%
r.seq
#%%
r.seq[::-1]
#%%
r.complement_dna()
#%%
r.seq
#%%
complement = {'A': 'T', 'T': 'A', 'C': 'G', 'G': 'C'}
complementary_sequence = ''.join(complement[base] for base in r.seq)
complementary_sequence
#%%
#%%
# Sekwencja DNA
dna_seq = record.seq
# Znajdź miejsca cięcia dla NcoI i Bpu1102I
ncoI_sites = NcoI.search(dna_seq)
bpu1102I_sites = Bpu1102I.search(dna_seq)
# Przyjmij pierwsze miejsca cięcia
ncoI_site = ncoI_sites[0]
bpu1102I_site = bpu1102I_sites[0]
# Wyodrębnij fragmenty 20 zasad od miejsc cięcia
ncoI_fragment = dna_seq[ncoI_site-16:ncoI_site+4] # 16 zasad przed i 4 po cięciu
bpu1102I_fragment = dna_seq[bpu1102I_site:bpu1102I_site+20] # 20 zasad po cięciu
# Lepkie końce
ncoI_sticky_end = ncoI_fragment[-4:]
ncoI_sticky_end_comp = ncoI_sticky_end.complement()
bpu1102I_sticky_end = bpu1102I_fragment[:4]
bpu1102I_sticky_end_comp = bpu1102I_sticky_end.complement()
# Funkcja do wyświetlania dwuniciowego DNA z lepkimi końcami w formacie schodkowym z indeksami dla dłuższej nici
def print_sticky_ends(seq1, sticky_end1, seq2, sticky_end2, start1, start2):
# Convert sequences to strings
seq1_str = str(seq1)
sticky_end1_str = str(sticky_end1)
comp_seq1_str = str(seq1.complement())
sticky_end1_comp_str = str(sticky_end1.complement())
seq2_str = str(seq2)
sticky_end2_str = str(sticky_end2)
comp_seq2_str = str(seq2.complement())
sticky_end2_comp_str = str(sticky_end2.complement())
# Add indexes to the ends
seq1_with_index = f"{seq1_str[:-1]} -{start1+len(seq1_str)-1}"
comp_seq1_with_index = f"{comp_seq1_str[:-1]}"
seq2_with_index = f"{start2}- {seq2_str[1:]}"
comp_seq2_with_index = f"{comp_seq2_str[1:]}"
# Lustrzane odbicie sekwencji
comp_seq2_with_index = comp_seq2_with_index[::-1]
sticky_end2_comp_str = sticky_end2_comp_str[::-1]
# Format the output as requested
print(f"5'-{seq1_with_index} {sticky_end1_str}-3' (+)")
print(f"3'-{comp_seq1_with_index}{sticky_end1_comp_str}-5'")
print()
print(f"5'-{sticky_end2_str} {seq2_with_index}-3' (+)")
print(f" {sticky_end2_comp_str}{comp_seq2_with_index}-5'")
# Wyświetl lepkie końce fragmentów
print("Fragmenty po cięciu NcoI i Bpu1102I:")
print_sticky_ends(ncoI_fragment[:-4], ncoI_sticky_end, bpu1102I_fragment[4:], bpu1102I_sticky_end, ncoI_site-16, bpu1102I_site)
#%%
# Projektowanie starterów
forward_primer = gfp_seq[:20] # Pierwsze 20 nukleotydów sekwencji GFP
reverse_primer = str(Seq(gfp_seq_with_his6[-20:]).reverse_complement()) # Ostatnie 20 nukleotydów + His6
print(f"Forward Primer: {forward_primer}")
print(f"Reverse Primer: {reverse_primer}")
#%%
# Miejsca cięcia restryktazy
enzymes = RestrictionBatch([EcoRI, BamHI, HindIII])
#enzymes = RestrictionBatch([BamHI, ])
restriction_sites = enzymes.search(record.seq)
#%%
# Przeprowadzenie analizy restrykcyjnej
analysis = Analysis(AllEnzymes, record.seq)
# Wynik analizy
results = analysis.full()
# Wyświetlanie wyników
#for enzyme in results:
# if len(results[enzyme]) > 0:
# print(f"{enzyme}: {results[enzyme]}")
#%%
# Utwórz diagram plazmidu
diagram = GenomeDiagram.Diagram("PUC19 Plasmid Map")
track = diagram.new_track(1, name="Annotated Features", greytrack=True)
feature_set = track.new_set()
# Dodanie sekwencji kodującej GFP
feature_set.add_feature(
SeqFeature(FeatureLocation(0, len(gfp_seq)), strand=+1),
name="GFP Coding Sequence",
label=True,
color=colors.lightblue
)
# Dodanie His6 tagu
feature_set.add_feature(
SeqFeature(FeatureLocation(len(gfp_seq), len(gfp_seq_with_his6)), strand=+1),
name="His6 Tag",
label=True,
color=colors.lightgreen
)
# Dodanie forward primer
feature_set.add_feature(
SeqFeature(FeatureLocation(0, len(forward_primer)), strand=+1),
name="Forward Primer",
label=True,
color=colors.orange
)
# Dodanie reverse primer
feature_set.add_feature(
SeqFeature(FeatureLocation(len(gfp_seq_with_his6) - len(reverse_primer), len(gfp_seq_with_his6)), strand=-1),
name="Reverse Primer",
label=True,
color=colors.red
)
# Dodanie miejsc cięcia restryktazy
for enzyme, sites in restriction_sites.items():
for site in sites:
feature_set.add_feature(
SeqFeature(FeatureLocation(site, site + 1), strand=0),
name=enzyme,
label=True,
color=colors.purple
)
# Rysowanie diagramu
diagram.draw(format="circular", circular=True, pagesize='A4', start=0, end=len(record), circle_core=0.5)
diagram.write("pdf/plasmid_map.pdf", "PDF")
print("Zapisano diagram plazmidu do pliku 'plasmid_map.pdf'")