Skip to content

Hw6 Beskrovnaia#2

Open
BeskrovnaiaM wants to merge 7 commits into
mainfrom
HW6_Beskrovnaia
Open

Hw6 Beskrovnaia#2
BeskrovnaiaM wants to merge 7 commits into
mainfrom
HW6_Beskrovnaia

Conversation

@BeskrovnaiaM

Copy link
Copy Markdown
Owner

No description provided.

@nvaulin nvaulin left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Привет!

Че то на меня вдохновение нашло, добавил комменты и по прошлым домашкам. Общие моменты:

  1. Хорошая структура коммитов
  2. Мне понравился твой ридми, там только чуть чуть можно довести до идеала. И еще кстати заголовки как то появнее раздели. а то много жирного текста, местами теряешься в структуре
  3. По FASTQ в целом все ок, работает, есть только замечания по коду - обрати внимание.
  4. Конвертер фасты работает не правильно, к сожалению. Там не так много исправить чтобы сделать его правильным, но все же :(
  5. Вижу нету больше ничего. Это не страшно, правильно что сдала это! Можешь потом остальное доделать на /2 баллов.

Баллы

  • Добработка FASTQ-модуля: 2 балла
  • convert_multiline_fasta_to_oneline: 3/4 балла
  • select_genes_from_gbk_to_fasta: 0/4 балла

-0.5 за общее качество кода: обманывающие нейминги, отсутсвие докстриги

Также вижу целых 2 коммита после дедлайна, поэтому, к сожалению, пришлось посмотреть что там: один импорт и редактирование содержания - это ок, ничего страшного, но на будущее мы следим за вами

Итого: 4.5 балла

Если что нехватка времени это ок. Код у тебя хороший - это главное! Потом когда будет минутка свободное все что надо добьешь.

Comment thread README.md
Comment on lines +10 to +20
## Table of Contents

- [Installation](#installation)
- [Functions](#functions)
- [Biotools.py](#biotools)
- [protein_tool](#protein_tool)
- [dna_rna_tools](#dna_rna_tools)
- [fastqc_filter](#fastqc_filter)
- [Bio_files_processor.py](#bio_files_processor)
- [Convert_multiline_fasta_to_oneline](#convert_multiline_fasta_to_oneline)

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔥🔥

Comment thread README.md

## Installation

You can clone this repository or download the source code.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Здесь еще было бы хорошо в таком случае конкретно команду привести, чтобы человек мог прямо скопировать и не думать сам ни о чем

Comment thread README.md
```
##### Example with custom quality_filter
```python
fastqc_filter(input_path='f/fastq.txt', quality_threshold=(34))

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Тут подразумевается одно число подавать просто вот так:

Suggested change
fastqc_filter(input_path='f/fastq.txt', quality_threshold=(34))
fastqc_filter(input_path='f/fastq.txt', quality_threshold=34)

Comment thread modules/dna_rna_tools.py



def seq_transcribe(seq: str) -> str:

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Не обязательно добавлять тут везде seq в названиях функции. Иногда даже линтеры ругаются если имя функции начинается или кончается именем какого-то из аргументов.

Comment thread modules/dna_rna_tools.py
Comment on lines +37 to +39
def is_dna_or_rna(seq: str) -> bool:
unique_char_seq = set(seq)
return unique_char_seq <= NUC_FOR_DNA or unique_char_seq <= NUC_FOR_RNA No newline at end of file

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Я бы лично разбил на две разные функции, is_dna и is_dna и использовал уже потом в условиях:

if is_dna(seq) or is_rna(seq):
    ...

И можно было бы и по-отдельности юзать. Но ладно, это я так

Comment thread biotools.py



def fastqc_filter(input_path: str, output_filename: None = None,

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
def fastqc_filter(input_path: str, output_filename: None = None,
def fastq_filter(input_path: str, output_filename: None = None,

Ниже прокомментировал это

Comment thread bio_files_processor.py
@@ -0,0 +1,21 @@
import os

def convert_multiline_fasta_to_oneline(input_fasta: str, output_fasta: str = None) -> None:

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
def convert_multiline_fasta_to_oneline(input_fasta: str, output_fasta: str = None) -> None:
def convert_multiline_fasta_to_oneline(input_fasta: str, output_fasta: Optiona[str] = None) -> None:

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

image

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Спасибо за комментарии, но я не очень поняла, почему нет докстринги. В прошлых ревью мне писали, что все гуд. Или тут речь только конкретно про то, что надо было писать вот это optiona где None был

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Я имею ввиду тут у функций нету:

def func():
"""
Dosctring
"""
     ...

Они у нас теперь к сожалению до самого конца ИБ должны быть :)
Если кто-то из ревьюеров случайно не обратил на это внимание - это скорее разовое везение чем правило

Comment thread bio_files_processor.py
output_fasta = os.path.basename(input_fasta)
output_path = os.path.join(out_dir, output_fasta)
else:
output_filename = output_fasta + '.fasta'

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

В целом ок, но я бы проверил наличие расширения - мало ли что

Comment thread bio_files_processor.py
output_path = os.path.join(out_dir, output_fasta)
else:
output_filename = output_fasta + '.fasta'
output_path = os.path.join(out_dir, output_filename)

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Это можно вынести из условий. По сути условия это выбор имени файла. А тут ты конструируешь путь, и это уже не зависит от того какое у нас там имя файла.

Comment thread bio_files_processor.py
Comment on lines +20 to +21
with open(os.path.join(output_path), mode = 'w') as output_file:
output_file.write(oneline_seqs)

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Какая-то фаста получилась неудачная:)
Ахахаха

  1. В fasta всегда есть имя - это строка с >
  2. Ты склеила со всем все строки в один - так не надо. Если ты посмотришь файл-пример, то там каждая запись - это отдельный тип РНК. Надо было в рамках каждой записи собрать все строки в одну и при этом оставить названия записей.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants