В процессе...
Советы по подготовке к контрольной
Разбор задачи получения последовательностей белков, закодированных в данной прокариотической нуклеотидной последовательности
Немного различающиеся варианты были предложены первой и второй группе. Здесь могут появиться разные варианты.
Вход: имя входного файла, имя выходного файла, минимальная длина последовательности белка. Параметры задаются в командной строке.
Параметры, хранящиеся внутри программы.
Таблица генетического кода: кодон -> аминокислота или стоп
- Инициаторные (старт) кодоны: ATG или ATG, GTG, TTG
Выход: файл со списком последовательностей белков. <Имя последовательности белка> = <имя нукл последовательности>_protein_i где i - номер белка в данной последовательности
Этапы
Номер |
Название |
Вход |
Выход |
Обозначение выходов |
1. |
Получение параметров |
данные из командной строки |
параметры |
infile, outfile, min_prot_len |
2. |
Чтение файла |
infile |
словарь последовательностей |
nucl_sequenses = {name1:seq1, name2:seq2,...} |
3.a |
Открытие файла на запись |
outfile |
file_out = open(outfile, 'w') |
file_out - открытый объект типа файл |
3.b. |
Цмкл по последовательностям |
nucl_sequences |
файл, посл. и ее имя |
(file_out, name, sequence) |
3.c |
Для данной нукл. посл. mполучение и запись последовательностей белков |
name, sequence, file_out, min_prot_len |
записанные в файл последовательности белков |
|
4. |
Завершение работы |
|
|
|
Реализация
Фукнция infile, outfile, min_prot_len = get_parameters()
Функция nucl_sequences = read_fasta(infile)
- c Функция 'get_and_write_proteins(file_out, name, sequence)'
Код основной программы
infile, outfile, min_prot_len = get_parameters()
print("Wait..")
nucl_sequences = read_fasta(infile)
print ("Fasta file read")
file_out = open(out_file,'w')
for name in nucl_sequences.keys():
get_and_write_proteins(file_out, name, sequence)
file_out.close()
print("..Done") Остается написать несколько функций
Функции
def get_parameters():
"""
Read sys.argv and returm (1) infile (str); (2) outfile (str); (3) min_prot_len (int).
"""
........
return (infile, outfile, min_prot_len)2.
def read_fasta(infile)
"""
infile is name of file in fasta format
return dict of sequences, key is sequence name (without ">"), value is sequence in upper letters
The function can be used in multile programs dealing with sequences
"""
# Open file
....
# make name of current sequence empty (name = "") and creat empty dict sequences
....
# read file strings one by one into line
# if line is empty continue
# if line[0] equals ">" store sequence name in name; creat sequences[name] = ""; continue
# if line[0] is not ">" reformat line to upper and strip it; add line to approprite sequence in dict ( sequences[name] = sequences[name] + line )
.....
.....
.....
# return result
return sequences3.c
def get_and_write_proteins(file_out, name, sequence)
"""
file_out is opened file; it means that file_out.write("string") adds the string to output file
......
"""
orfs = get_orfs(sequence) # orfs is list of orf, orf is a sequence from start to stop codons
for orf in orfs:
get_and_write_protein(file_out, name, orf)
return
2025
2024
2023
2022
2021
2020
2019
2018
get_orfs