3. Третій етап виконання курсової роботи - sophiakravchuk/geneanalysis_project GitHub Wiki

Table of Contents

Опис типів даних, необхідних для вирішення завдань дослідження.

Абстрактний тип даних Array:

знаходиться в модулі arrays.py

- атрибути: _size – довжина масиву, _elements – елементи масиву.
  • Array(): створює новий порожній масив .
    • _len_(): повертає розмір масиву.
    • _getitem_(index): повертає елемент за заданим індексом (index).
    • _setitem_(index, value): встановлює даний елемент (value) за заданим індексом (index).
    • clear(value): очищує весь масив, заміняючи кожен елемент даним елементом (value).
    • _iter_(): повертає ітератор масиву.
    • _str_(): повертає репрезентацію класу стрічкою (str).

Абстрактний тип даних DynamicArray:

знаходиться в модулі arrays.py

- атрибути: _n – кількість елементів, _A – елементарний масив.
  • DynamicArray(): створює новий порожній масив .
    • _len_(): повертає розмір масиву.
    • _getitem_(index): повертає елемент за заданим індексом.
    • append(obj): додає заданий елемент у кінець масиву.
    • _resize(c): змінює розмір масиву до вказаного розміру с.
    • _make_array(c): повертає новий масив довжиною с.
    • insert(k, value): встановлює елемент (value) за заданим індексом (k), переміщаючи наступні елементи вправо.
    • pop(): видаляє останній елемент з масиву та повертає його.
    • clear(value=None): очищує весь масив, заміняючи кожен елемент даним елементом (value).
    • remove(value): видаляє перший елемент з заданим значенням.
    • _str_(): повертає репрезентацію класу стрічкою (str).

Клас GeneFasta:

знаходиться в модулі GeneFasta.py

- атрибути: gene_name – назва гену (задана користувачем), db – посилання на базу даних організму, gene_id – ID гена, fasta_link – посилання на фасту, fasta_ - фаста заданого гена, blast_rid – RID результату бласту, blast_res – результат (звіт) бласту.
  • GeneFasta(): відповідає за здійснення операцій, що проводяться для виконання порівняння генів.
    • get_html(link, link_id): (статичний метод) перевіряє чи немає у кеші інформації за заданим посиланням або дістає цю інформацію і кешує її.
    • request_html(is_get, link, params, link_id): (статичний метод) складає посилання переходить за ним і дістає інформацію та кешує її (перед тим перевіряє чи її нема у кеші)
    • param_value_from_link(link, param_name): (статичний метод) повертає значення параметру з посилання
    • gene_name_to_id(): повертає ID гена по назві.
    • gene_id_to_fasta_link(): повертає посилання на фасту по ID гена.
    • gene_fasta_from_fasta_link(): повертає фасту по посиланню на неї.
    • rid_from_fasta(organism , db): повертає RID на результат бласту по фасті.
    • blast_text_from_rid(rid , cached=False): повертає результат бласту по його RID.
    • get_gene_id(): повертає ID гена.
    • get_fasta_link(): повертає посилання на фасту.
    • get_fasta_(): повертає фасту
    • get_db(db_str): повертає посилання на базу даних організму.
    • get_blast_rid(organism): повертає RID на результат бласту.
    • get_blast_res(): повертає результат бласту.

Клас ComUser:

знаходиться в модулі ComUser.py

- атрибути: db_lst – список назв баз даних організмів(об’єкт класу DynamicArray).
  • ComUser(): здійснює комунікацію з користувачем.
    • start(): (статичний метод) виводить стартовий текст програми.
    • get_gene_name(): (рекурсивний метод) питає в користувача назву гена, який він хоче порівнювати, перепитує поки назва не буде підходящою.
    • get_db_lst(): формує список назв баз даних та посилань на них.
    • get_db_number(): (рекурсивний метод) питає в користувача номер бази даних в списку, з якою він хоче порівнювати ген, перепитує поки цифра не буде підходящою.
    • get_db_str(number): повертає стрічку посилання на базу даних організму.
Окрім поданих вище абстрактних типів даних існує основний модуль під назвою geneanalysis_project_run.py, що виконує роботу всієї програми, використовуючи всі інші модулі.

Діаграми класів

Клас Array

Клас DynamicArray

Клас GeneFasta

Клас ComUser

⚠️ **GitHub.com Fallback** ⚠️