Temat 7: Bazy danych
Wstecz; Ostatnia modyfikacja: 15.04.2015
- Pobieranie danych biologicznych z publicznie dostępnych baz danych:
- gotowy plik do pobrania (np. STRING -
baza interakcji białko-białko)
- serwer ftp (np. PATRIC)
- URL API (np. NCBI, PDB)
- crawling (np. drugs.com)
- mechanizacja przeglądarki (biblioteka
Selenium do Pythona) -
potrzebna niekiedy, gdy dane są wyświetlane poprzez JavaScript.
- Opisy URL API do NCBI: BLAST URL API,
NCBI Entrez and for
bacterial genomes.
- Ćwiczenie 1: przedyskutuj możliwości pobrania danych
biologicznych przydatnych w pracy licencjackiej
- Ćwiczenie 2: porównaj zbiory sekwencji genomowych dla wybranych
bakterii (np. E. coli, M. tuberculosis, B. anthracis) dostępne
w bazach danych NCBI
i PATRIC.
- Ćwiczenie 3: napisz program (skrypt) do pobierania danych genomowych
(sekwencje i adnotacje) dla wszystkich szczepów wybranego gatunku bakterii.
Wykorzystaj bibliotekę urllib
w Python.
- Pobieranie sekwencji i adnotacji z NCBI dla wybranego id:
http://eutils.ncbi.nlm.nih.gov/entrez/eutils/efetch.fcgi?db=nuccore&id=NC_000962.3&rettype=fasta
http://eutils.ncbi.nlm.nih.gov/entrez/eutils/efetch.fcgi?db=nuccore&id=NC_000962.3&rettype=ft
http://eutils.ncbi.nlm.nih.gov/entrez/eutils/efetch.fcgi?db=nuccore&id=NC_000962.3&rettype=accnlist
Przykład, dla wybranego url (zautomatyzuj pobieranie dla wielu sekwencji)
import os, sys
import socket
try: # kompatybilnosc z Python 2 i 3
from urllib.request import urlopen
except ImportError:
from urllib2 import urlopen
url = "http://eutils.ncbi.nlm.nih.gov/entrez/eutils/efetch.fcgi?db=nuccore&id=NC_000962.3&rettype=ft"
timeout = 30
socket.setdefaulttimeout(timeout)
online_fh = urlopen(url, timeout=timeout)
lines = online_fh.readlines()
online_fh.close()
output_fh = open("output.ft", "w")
for line in lines:
output_fh.write(line)
output_fh.close()
Ćwiczenie 4dodaj do pliku .gitignore informację, żeby git nie synchronizował plików z danymi
Ćwiczenie 5 (opcjonalnie): wykorzystaj bibliotekę multiprocessing
w celu zrównoleglenia procesu pobierania danych.
Kod z ćwiczeń (pobieranie struktur i fasta z PDB)