This commit is contained in:
baiobelfer 2024-11-11 01:08:45 +01:00
parent 5a4020cfd5
commit f7c9056a5a
4 changed files with 85 additions and 3 deletions

Binary file not shown.

View File

@ -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}

View File

@ -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}
}

View File

@ -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