t7 cds
This commit is contained in:
parent
5a4020cfd5
commit
f7c9056a5a
BIN
doc/main.pdf
BIN
doc/main.pdf
Binary file not shown.
|
@ -36,6 +36,8 @@
|
||||||
bind------------
|
bind------------
|
||||||
-----------init
|
-----------init
|
||||||
\end{verbatim}
|
\end{verbatim}
|
||||||
|
Transkrypcja rozpoczyna się przy oznaczonym gwiazdką guaninie \cite{rong1998}.
|
||||||
|
|
||||||
\end{longenum}
|
\end{longenum}
|
||||||
|
|
||||||
\vspace{0.5cm}
|
\vspace{0.5cm}
|
||||||
|
|
|
@ -227,3 +227,17 @@
|
||||||
pages = {6313--6317},
|
pages = {6313--6317},
|
||||||
year = {1982}
|
year = {1982}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@article{rong1998,
|
||||||
|
author = {Rong, M. and He, B. and McAllister, W.T. and Durbin, R.K.},
|
||||||
|
title = {Promoter specificity determinants of T7 RNA polymerase},
|
||||||
|
journal = {Proceedings of the National Academy of Sciences of the United States of America},
|
||||||
|
year = {1998},
|
||||||
|
volume = {95},
|
||||||
|
number = {2},
|
||||||
|
pages = {515--9},
|
||||||
|
doi = {10.1073/pnas.95.2.515},
|
||||||
|
pmid = {9435223},
|
||||||
|
bibcode = {1998PNAS...95..515R}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
|
@ -125,7 +125,7 @@ if refseq_id:
|
||||||
else:
|
else:
|
||||||
print("Nie znaleziono odpowiedniego RefSeq ID.")
|
print("Nie znaleziono odpowiedniego RefSeq ID.")
|
||||||
|
|
||||||
|
#%%
|
||||||
# Wyświetlanie etykiet (annotacji) dla CDS
|
# Wyświetlanie etykiet (annotacji) dla CDS
|
||||||
for feature in record.features:
|
for feature in record.features:
|
||||||
if feature.type == "CDS":
|
if feature.type == "CDS":
|
||||||
|
@ -234,7 +234,75 @@ for feature in record.features:
|
||||||
print()
|
print()
|
||||||
|
|
||||||
|
|
||||||
|
#%%
|
||||||
|
# Znajdź i wyświetl sekwencję promotora T7
|
||||||
|
sq = []
|
||||||
|
for feature in record.features:
|
||||||
|
if feature.type == "promoter" and "T7" in feature.qualifiers.get('note', [''])[0]:
|
||||||
|
print("Promotor T7 znaleziony:")
|
||||||
|
print(f"Type: {feature.type}")
|
||||||
|
print(f"Location: {feature.location}")
|
||||||
|
|
||||||
|
# Pobierz sekwencję promotora
|
||||||
|
promoter_seq = record.seq[feature.location.start:feature.location.end]
|
||||||
|
|
||||||
|
# Sprawdź orientację i odwróć/uzupełnij jeśli potrzebne
|
||||||
|
if feature.location.strand == 1:
|
||||||
|
strand_orientation = "(+)"
|
||||||
|
sequence_with_ends = f"5'-{promoter_seq}-3'"
|
||||||
|
elif feature.location.strand == -1:
|
||||||
|
strand_orientation = "(-)"
|
||||||
|
promoter_seq = promoter_seq.reverse_complement()
|
||||||
|
sequence_with_ends = f"3'-{promoter_seq}-5'"
|
||||||
|
else:
|
||||||
|
strand_orientation = "(unknown strand)"
|
||||||
|
sequence_with_ends = str(promoter_seq)
|
||||||
|
|
||||||
|
#print(f"Strand: {strand_orientation}")
|
||||||
|
print(f"Sequence: {sequence_with_ends}")
|
||||||
|
print()
|
||||||
|
# Znajdź orientację CDS w pliku GenBank
|
||||||
|
cds_orientation = None
|
||||||
|
for feature in record.features:
|
||||||
|
if feature.type == "CDS":
|
||||||
|
cds_orientation = feature.location.strand
|
||||||
|
break # Zakładamy, że interesuje nas pierwszy znaleziony CDS
|
||||||
|
|
||||||
|
# Znajdź i wyświetl sekwencję promotora T7 z oznaczeniem na podstawie orientacji CDS
|
||||||
|
for feature in record.features:
|
||||||
|
if feature.type == "promoter" and "T7" in feature.qualifiers.get('note', [''])[0]:
|
||||||
|
print("--")
|
||||||
|
print("Promotor T7 znaleziony:")
|
||||||
|
print(f"Type: {feature.type}")
|
||||||
|
|
||||||
|
# Pobierz lokalizację
|
||||||
|
start = feature.location.start
|
||||||
|
end = feature.location.end
|
||||||
|
|
||||||
|
# Pobierz sekwencję promotora
|
||||||
|
promoter_seq = record.seq[start:end]
|
||||||
|
|
||||||
|
# Oblicz sekwencję komplementarną
|
||||||
|
complementary_seq = promoter_seq.complement()
|
||||||
|
|
||||||
|
# Przygotuj format wyjścia na podstawie orientacji CDS
|
||||||
|
if cds_orientation == 1:
|
||||||
|
# CDS na nici dodatniej
|
||||||
|
positive_strand_output = f" [{start}:{end}](+) 5'-{promoter_seq}-3'"
|
||||||
|
negative_strand_output = f" [{start}:{end}](-) 3'-{complementary_seq}-5'"
|
||||||
|
elif cds_orientation == -1:
|
||||||
|
# CDS na nici ujemnej
|
||||||
|
positive_strand_output = f" [{start}:{end}](+) 5'-{promoter_seq}-3'"
|
||||||
|
negative_strand_output = f"* [{start}:{end}](-) 3'-{complementary_seq}-5'"
|
||||||
|
else:
|
||||||
|
# Orientacja CDS nieokreślona
|
||||||
|
positive_strand_output = f" [{start}:{end}](unknown) 5'-{promoter_seq}-3'"
|
||||||
|
negative_strand_output = f" [{start}:{end}](unknown) 3'-{complementary_seq}-5'"
|
||||||
|
|
||||||
|
# Wyświetl wyniki
|
||||||
|
print(f"(+): {positive_strand_output}")
|
||||||
|
print(f"(-): {negative_strand_output}")
|
||||||
|
print()
|
||||||
|
|
||||||
#%%
|
#%%
|
||||||
# Znajdź i wyświetl sekwencję terminatora T7
|
# Znajdź i wyświetl sekwencję terminatora T7
|
||||||
|
@ -254,8 +322,6 @@ for feature in record.features:
|
||||||
print(f"(+) Sequence: {terminator_seq}")
|
print(f"(+) Sequence: {terminator_seq}")
|
||||||
print()
|
print()
|
||||||
|
|
||||||
#%%
|
|
||||||
|
|
||||||
|
|
||||||
#%%
|
#%%
|
||||||
t=record[25:73].seq
|
t=record[25:73].seq
|
||||||
|
|
Loading…
Reference in New Issue