2. Другий етап виконання курсової роботи - sophiakravchuk/geneanalysis_project GitHub Wiki
- 1. Можливості для користувача:
1.1 Система дозволятиме користувачу вказати назву гену або послідовність його нуклеотидів. Наприклад: A3721, ATGGCTTCCGCA...CCGCTCTGCGCTCGCCGGGCTGA;
1.2 Система надаватиме можливість вибрати, по якій базі даних проводити пошук ; Наприклад: Human genomic, Mouse genomic;
1.3 Користувач зможе переглянути вибірку з результатів;
1.4 Користувач зможе переглянути сформований звіт, наприклад які з ділянок були знайдені у яких відомих генах;
1.5 Користувач отримає повідомлення про помилку, якщо вхідних дані користувача неправильні;
- 2. Інформація, якою буле володіти система:
2.1 Система отримуватиме інформацію про гени та послідовність їхніх нуклеотидів;
2.2 Система отримуватиме результати використання вбудованого алгоритму NCBI BLAST.
- 1. Вимоги до операційної системи (Operational):
1.1 Програма працюватиме на персональних комп'ютерах користувачів; 1.2 Програма працюватиме при відсутності інтернет-з'єднання, якщо інформація потрібна для операції вже кешована на персональному комп’ютері користувача.
- 2. Виконання (Performance):
2.1 Система буде доступна для користування 24 години на добу 365 днів в році; 2.2 Система не повинна видавати ніяких помилок. За винятком помилок про неправильні вхідні дані від користувача; 2.3 Система може не виконувати всіх функцій за відсутності інтернет-з'єднання або при поганому інтернет-з'єднанні.
- 3. Зовнішні вимоги:
3.1 Система не повинна отримувати особистих даних користувача, тому захист даних не використовується; 3.2 Певні культурні чи етичні вимоги відсутні.
API, яким я користуюся повертає дані у HTML форматі.
Можливості модулів, пакунків модулів, бібліотек, які будуть використовуватися для роботи з даними у програмі, що проектується.
- 1. urllib.request
Приклад використання бібліотеки:
››› import urllib.request
››› html = urllib.request.urlopen('https://arstechnica.com').read()
››› print(html)
b'<!DOCTYPE html>\n<html lang=″en-us″>\n<head>\n<title>Ars Technica</title>\n …
- 2. lxml.html
- 3. os.path
Приклад використання бібліотеки:
››› import os
››› os.path.isfile(′filename′)
False
- 4. hashlib
Приклад використання бібліотеки:
››› import hashlib
››› m = hashlib.md5()
››› m.update(″abc″.encode(′utf–8′))
››› h = m.hexdigest()
››› print(h)
900150983cd24fb0d6963f7d28e17f72
- 5. requests
Приклад використання бібліотеки:
››› import requests
››› payload = {′key1′: ′value1′, ′key2′: [′value2′, ′value3′]}
››› r = requests.get(′https://httpbin.org/get′, params=payload)
››› print(r.url)
https://httpbin.org/get?key1=value1&key2=value2&key2=value3
››› r = requests.put(′https://httpbin.org/put′, data = {′key′:′value′})
››› print(r.text)
{ ″args″: {}, ″data″: ″″, ″files″: {}, ″form″: { ″key″: ″value″ }, ″headers″: { ″Accept″: ″∗/∗″, ...
- 6. ctypes
- 7. msvcrt
››› import msvcrt
››› msvcrt.getch() b'e' ››› msvcrt.getch() b'\r'
- 8. time