Develop#1
Conversation
This function counts sulphur-containing amino acids (Cysteine and Methionine) in a protein sequence.
There was a problem hiding this comment.
Хорошая работа!
Плюсы:
- Отличные комментарии к коммитам.
- Подробный и понятный README.
- Код по работе с FASTQ выглядит очень хорошо. Работает все верно, за исключением того, что не учтена возможность подачи gc_bounds числа с плавающей точкой.
- Здесь как раз можно было посмотреть прогресс студента, у тебя очень хорошие успехи:)
- Стилистика кода, нейминг в последней части домашнего задания - отлично.
Замечания:
- Недостаточно внимания уделила прошлым заданиям. В основном это касается стилистики кода (см. комментарии).
- Главный скрипт не в формате .py
- Не убран import в середине главного скрипта
- В dna_rna_tools_utils.py нет импорта Typing
Баллы:
- 3 фильтрации FASTQ 3/3
- Главная функция 0.2/1 (нет формата .py, забыла убрать import в середине скрипта, нельзя подать float в gc_bounds)
- README 2/2
- Структура репозитория и качество кода 2.5/3. Нет импорта Typing, пробелы, нейминг (i), отступы, лишние скобки в if. По большей части это все штрафы с прошлых ДЗ, которые нужно было бы поправить.
- Улучшение кода ДНК/РНК и белковых тулов 0.5/1
Итого: 8.2 балла
| DNA = set ('ATGCatgc') | ||
| RNA = set ('AUGCaugc') |
There was a problem hiding this comment.
Здорово, что учла комметарий от Никиты.
Есть недочет: между функцией (в данном случае у тебя функция преобразования типа) и аргументом пробел не ставится.
| DNA = set ('ATGCatgc') | |
| RNA = set ('AUGCaugc') | |
| DNA = set('ATGCatgc') | |
| RNA = set('AUGCaugc') |
| "a": "a", "A": "A", | ||
| "t": "u", "T": "U", | ||
| "u": "t", "U": "T", | ||
| "g": "g", "G": "G", | ||
| "c": "c", "C": "C" |
There was a problem hiding this comment.
Просто на будущее: обычно используют или одинарные, или двойные кавычки. Лучше выбрать один стиль.
| return unique_chars <= RNA | ||
|
|
||
|
|
||
| def type_rna_or_dna(seqs: List[str]) -> str: |
| counter_rna = 0 | ||
| ambigiuos = 0 | ||
| for i in seqs: | ||
| if is_dna(i) and is_rna(i): |
There was a problem hiding this comment.
Не хватает отступов.
| if is_dna(i) and is_rna(i): | |
| if is_dna(i) and is_rna(i): |
| ambigiuos = 0 | ||
| for i in seqs: | ||
| if is_dna(i) and is_rna(i): | ||
| ambigiuos = ambigiuos+1 |
There was a problem hiding this comment.
Не хватает пробелов.
| ambigiuos = ambigiuos+1 | |
| ambigiuos = ambigiuos + 1 |
| return filtered_seqs | ||
|
|
||
|
|
||
| from amino_analyzer_utils import aa_weight, count_hydroaffinity, peptide_cutter, one_to_three_letter_code, sulphur_containing_aa_counter |
There was a problem hiding this comment.
все импорты лучше выносить в начало файла. А этот спорт работать не будет, потому что скрипт amino_analyzer_utils находится в директории gene_code_utils. Видимо, ты забыла удалить эту строку, но с ней код работать не будет.
| @@ -0,0 +1,145 @@ | |||
| from typing import Dict, Tuple, Union | |||
There was a problem hiding this comment.
Вообще ничего не будет работать, потому что этот файл не имеет расширения .py
| filtered_seqs = dict() | ||
| for fastq_name, (seq, quality) in seqs.items(): | ||
| if is_dna(seq): | ||
| if type(gc_bounds) == int: |
There was a problem hiding this comment.
а если ввести, например, gc_bound=44.4 работать не будет.
| u_to_t = {'U': 'T', 'u': 't'} | ||
| for i in seq: | ||
| if i in u_to_t: | ||
| c_dna.append(u_to_t.get(i)) | ||
| else: | ||
| c_dna.append(i) |
There was a problem hiding this comment.
Лучше было сделать также, как и функцию transcribe.
| """ | ||
|
|
||
| filtered_seqs = dict() | ||
| for fastq_name, (seq, quality) in seqs.items(): |
There was a problem hiding this comment.
Спасибо за проверку!
|
Аааа, поняла, спаисбо
вт, 17 окт. 2023 г. в 18:59, Alexandra Kasianova ***@***.***>:
… ***@***.**** commented on this pull request.
------------------------------
In gene_code_utils/amino_analyzer_utils.py
<#1 (comment)>
:
> + average_weights = {
+ 'A': 71.0788, 'R': 156.1875, 'N': 114.1038, 'D': 115.0886, 'C': 103.1388,
+ 'E': 129.1155, 'Q': 128.1307, 'G': 57.0519, 'H': 137.1411, 'I': 113.1594,
+ 'L': 113.1594, 'K': 128.1741, 'M': 131.1926, 'F': 147.1766, 'P': 97.1167,
+ 'S': 87.0782, 'T': 101.1051, 'W': 186.2132, 'Y': 163.1760, 'V': 99.1326
+ }
Тут идея в том, что константа - это какая-то структура данных (желательно,
но не всегда, неизменяемая), в которую ты один раз данные записала руками и
больше их никак не меняешь. То есть этот как англо-русский словарь, ты к
нему обращаешься, чтобы узнать значение какого-то слова. Здесь принцип тот
же)
—
Reply to this email directly, view it on GitHub
<#1 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/A7ISJYCWAXOXVJLTDK4F5G3X72TNLAVCNFSM6AAAAAA5XB2T3SVHI2DSMVQWIX3LMV43YUDVNRWFEZLROVSXG5CSMV3GSZLXHMYTMOBSG42TONZSGM>
.
You are receiving this because you authored the thread.Message ID:
***@***.***>
|
This branch was done for 5's homework