Podatkovne zbirke BI019 Bioinformatika

Uvod Besedilo v prostem formatu XML datoteka Podatkovna tabela Relacijske podatkovne zbirke MySQL Podatkovna zbirka o
Podatkovne zbirke
BI019 Bioinformatika
A. Blejec
26. oktober 2011
Uvod Besedilo v prostem formatu XML datoteka Podatkovna tabela Relacijske podatkovne zbirke MySQL Podatkovna zbirka o
Podatkovna zbirka
Data base
Podatkovna zbirka je smiselno urejena mnoˇzica informacij, ki
nekako sodijo skupaj. Deli informacij, ki so podobni ali povezani so
zbrani na enem mestu.
Primeri
poddirektoriji in datoteke
tabela podatkov
knjiga s poglavji in imenskim kazalom (index)
Uvod Besedilo v prostem formatu XML datoteka Podatkovna tabela Relacijske podatkovne zbirke MySQL Podatkovna zbirka o
Vrste podatkovnih zbirk
datoteka z besedilom v prostem formatu(flat text file)
FASTA format
XML datoteke (Extensible Markup Language)
NCBI Entrez iskalnik
navadna tabela
tabela statistiˇcnih podatkov
relacijska podatkovna zbirka (relational data base)
RDBMS sistemi,
Structured Query Language (MySQL, SQLite)
Uvod Besedilo v prostem formatu XML datoteka Podatkovna tabela Relacijske podatkovne zbirke MySQL Podatkovna zbirka o
Besedilo v prostem formatu
Posamezni deli informacij so lahko razliˇcno dolgi.
Posamezni kosi nosijo znaˇcilne predpone in zakljuˇcke.
Uvod Besedilo v prostem formatu XML datoteka Podatkovna tabela Relacijske podatkovne zbirke MySQL Podatkovna zbirka o
FASTA format za zapis zaporedij
FASTA format ima dva dela
1 Prvi znak v vrstici je >
sledi opis zaporedja (kode in berljiv opis) zakljuˇcen z \n
2
Zaporedje (nukleotidno, proteinsko, aminokislinsko,...), lahko
razdeljeno na veˇc vrstic s po 80 (132, 70) znakov.
Example
Nukleotidno zaporedje, datoteka BRCA1.fasta
>gi|9739178|gb|AF284812.1| Homo sapiens BRCAI (BRCA1) gene,
ATATGACGTGTCTGCTCCACTTCCATTGAAGGAAGCTTCTCTTTCTCTTATCCTGATGG
TTTCTTTCAGCATGATTTTGAAGTCAGAGGAGATGTGGTCAATGGAAGAAACCACCAAG
GCAAGAGAATCCCAGGACAGAAAGGTAAAGCTCCCTCCCTCAAGTTGACAAAAATCTCA
TGTATTCCACTCTGTATTCCACTCCCCTTTGCAGAGATGGGCCGCTTCATTTTGTAAGA
Uvod Besedilo v prostem formatu XML datoteka Podatkovna tabela Relacijske podatkovne zbirke MySQL Podatkovna zbirka o
KEGG (Kyoto Encyclopedia of Genes and Genomes)
Razlaga posameznih polj: http://nar.oxfordjournals.org/cgi/
content/full/28/1/27/GKD027TB2
KEGG pa je dostopen na www.genome.jp/kegg/
Uvod Besedilo v prostem formatu XML datoteka Podatkovna tabela Relacijske podatkovne zbirke MySQL Podatkovna zbirka o
Doseg do baze KEGG
> library(KEGGSOAP)
> seznam <- bget("eco:b2587")
> cat(seznam)
ENTRY
b2587
CDS
E.coli
NAME
kgtP, ECK2585, JW2571, witA
DEFINITION alpha-ketoglutarate transporter
ORTHOLOGY
K03761 MFS transporter, MHS family, alpha-k
POSITION
complement(2722470..2723768)
MOTIF
Pfam: Sugar_tr MFS_1 MFS_1_like
PROSITE: SUGAR_TRANSPORT_1 SUGAR_TRANSPORT_2
DBLINKS
NCBI-GI: 16130512
NCBI-GeneID: 947069
Pasteur: kgtP
RegulonDB: ECK120000515
EcoGene: EG10522
ECOCYC: EG10522
ASAP: ABE-0008515
Uvod Besedilo v prostem formatu XML datoteka Podatkovna tabela Relacijske podatkovne zbirke MySQL Podatkovna zbirka o
Posamezne informacije
>
>
+
+
>
sep <- "DEFINITION"
getDetail <- function(x, what, post = "\\n") {
strsplit(strsplit(x, what)[[1]][2], post)[[1]][1]
}
cat(paste(sep, ":", getDetail(seznam, sep), "\n"))
DEFINITION :
alpha-ketoglutarate transporter
Uvod Besedilo v prostem formatu XML datoteka Podatkovna tabela Relacijske podatkovne zbirke MySQL Podatkovna zbirka o
Nukleotidno zaporedje
> sep <- "NTSEQ"
> detail <- getDetail(seznam, sep, "///")
> cat(paste(sep, detail, "\n"))
NTSEQ
1299
atggctgaaagtactgtaacggcagacagcaaactgacaagtag
atttgggcgattgtgggggcctcttcaggtaatctggtcgagtg
tactcgttctgttcactctactttgcccacatcttcttcccttc
caactactacaaacagcaggtgtttttgctgcgggattcctgat
tggctatttggccgcatagccgataaacatggtcgcaaaaaatc
tgtatgatgtgtttcggatcgctggttatcgcctgcctcccagg
acgtgggctccggcattattgcttctcgctcgtttatttcaggg
gaatatggcaccagcgccacctatatgagtgaagttgccgttga
tacgcatcatttcagtatgtgacgttgatcggcggacaactgct
gtggttttacaacacaccatggaagacgctgcactcagagagtg
ttcgcgttaggagctgtgttagctgttgtggcgttgtggttacg
acttcgcaacaagaaacgcgcgctttaaaagaagctggatctct
aatcgccgtgcattcatcatggttctcggttttaccgctgcggg
Uvod Besedilo v prostem formatu XML datoteka Podatkovna tabela Relacijske podatkovne zbirke MySQL Podatkovna zbirka o
Aminokislinsko zaporedje
> sep <- "AASEQ"
> detail <- getDetail(seznam, sep, "NTSEQ")
> cat(paste(sep, detail, "\n"))
AASEQ
432
MAESTVTADSKLTSSDTRRRIWAIVGASSGNLVEWFDFYVYSFC
QLLQTAGVFAAGFLMRPIGGWLFGRIADKHGRKKSMLLSVCMMC
TWAPALLLLARLFQGLSVGGEYGTSATYMSEVAVEGRKGFYASF
VVLQHTMEDAALREWGWRIPFALGAVLAVVALWLRRQLDETSQQ
NRRAFIMVLGFTAAGSLCFYTFTTYMQKYLVNTAGMHANVASGI
ALSDKIGRRTSMLCFGSLAAIFTVPILSALQNVSSPYAAFGLVM
KAEMFPAQVRALGVGLSYAVANAIFGGSAEYVALSLKSIGMETA
LMLHRKGKGMRL
Uvod Besedilo v prostem formatu XML datoteka Podatkovna tabela Relacijske podatkovne zbirke MySQL Podatkovna zbirka o
Iskanje doloˇcenega zaporedja
> cat(gsub(".*(atttttaccg.*)", "\\1", seznam))
atttttaccgttcctattctctcagcattgcaaaacgtttcctcgccttatgccgc
ggtctggtgatgtgtgccctgctgatagtgagtttttatacatc
aaggctgagatgttcccggcacaggttcgcgcattaggcgttgg
gctaatgctatatttggtggttcggcggagtacgtagcgttgtc
atggaaacagccttcttctggtatgtgaccttgatggccgtggt
ttgatgctacatcgcaaagggaaggggatgcgtctttag
///
Zapis enega gena se zakljuˇci z ///
Uvod Besedilo v prostem formatu XML datoteka Podatkovna tabela Relacijske podatkovne zbirke MySQL Podatkovna zbirka o
Dodatno informacijo za BRCA1 lahko poiˇsˇcemo v Entrez Gene
http://www.ncbi.nlm.nih.gov/sites/entrez
s kodo AF284812.1
Uvod Besedilo v prostem formatu XML datoteka Podatkovna tabela Relacijske podatkovne zbirke MySQL Podatkovna zbirka o
XML - eXtensible Markup Language
Sploˇsnejˇsi od HTML
Berljiv s kakrˇsnimkoli urejevalcem besedil
Sistem znaˇck: <oznaka> ... </oznaka>
Uvod Besedilo v prostem formatu XML datoteka Podatkovna tabela Relacijske podatkovne zbirke MySQL Podatkovna zbirka o
oseba.xml
<?xml version="1.0" encoding="UTF-8"?>
<seznam>
<oseba ime="Miha">
<starost>27</starost>
<visina>178</visina>
<teza>111</teza>
<nasvet>Razmisli!</nasvet>
</oseba>
<oseba ime="Tina">
<starost>22</starost>
<visina>167</visina>
<teza>65</teza>
</oseba>
</seznam>
Uvod Besedilo v prostem formatu XML datoteka Podatkovna tabela Relacijske podatkovne zbirke MySQL Podatkovna zbirka o
Primer:
Z ogledovalnikom spletnih strani odprite datoteki
oseba.xml in
oseba2.xml
Datoteki si oglejte tudi z urejevalnikom enostavnih (ASCII) besedil
npr. Notepad ali WordPad.
Uvod Besedilo v prostem formatu XML datoteka Podatkovna tabela Relacijske podatkovne zbirke MySQL Podatkovna zbirka o
Pretvorba XML v data.frame
Za delo z XML datotekami je v R na voljo paket XML
> x <- readLines("../data/oseba.xml")
> library(XML)
> data <- xmlToDataFrame(x)
Called from: xmlToDataFrame(doc, colClasses, homogeneous
> data
1
2
starost visina teza
nasvet
27
178 111 Razmisli!
22
167
65
<NA>
Uvod Besedilo v prostem formatu XML datoteka Podatkovna tabela Relacijske podatkovne zbirke MySQL Podatkovna zbirka o
Tabela s podatki
> (ocene <- read.table("../data/ocene.txt", sep = "\t",
+
header = TRUE, row.names = NULL, stringsAsFactors
1
2
3
4
5
sid
student pid
predmet uid ucitelj ocena
1999 Miha Mihav 10 Matematika 100 Devetak
9
1999 Miha Mihav 20
Fizika 200
Osmak
10
2001 Mojca Smode 10 Matematika 100 Devetak
7
1999 Miha Mihav 30 Biologija 300
Petek
6
2001 Mojca Smode 20
Fizika 200
Osmak
10
> attach(ocene)
> ocene[order(predmet), ]
4
2
5
1
3
sid
student pid
predmet uid ucitelj ocena
1999 Miha Mihav 30 Biologija 300
Petek
6
1999 Miha Mihav 20
Fizika 200
Osmak
10
2001 Mojca Smode 20
Fizika 200
Osmak
10
1999 Miha Mihav 10 Matematika 100 Devetak
9
2001 Mojca Smode 10 Matematika 100 Devetak
7
Uvod Besedilo v prostem formatu XML datoteka Podatkovna tabela Relacijske podatkovne zbirke MySQL Podatkovna zbirka o
Filtriranje
> ocene[sid == 1999, ]
sid
student pid
predmet uid ucitelj ocena
1 1999 Miha Mihav 10 Matematika 100 Devetak
9
2 1999 Miha Mihav 20
Fizika 200
Osmak
10
4 1999 Miha Mihav 30 Biologija 300
Petek
6
Uvod Besedilo v prostem formatu XML datoteka Podatkovna tabela Relacijske podatkovne zbirke MySQL Podatkovna zbirka o
Poroˇcila
Student:
Miha Mihav
predmet ocena
1 Matematika
9
2
Fizika
10
4 Biologija
6
Uvod Besedilo v prostem formatu XML datoteka Podatkovna tabela Relacijske podatkovne zbirke MySQL Podatkovna zbirka o
Preureditev
Relacijska baza je naˇceloma sistem rezˇsirjenih ˇsifrantov.
> (studenti <- ocene[!duplicated(sid), 1:2])
sid
student
1 1999 Miha Mihav
3 2001 Mojca Smode
> (predmeti <- ocene[!duplicated(pid), 3:5])
1
2
4
pid
predmet uid
10 Matematika 100
20
Fizika 200
30 Biologija 300
> (ucitelji <- ocene[!duplicated(uid), 5:6])
uid ucitelj
1 100 Devetak
2 200
Osmak
4 300
Petek
Uvod Besedilo v prostem formatu XML datoteka Podatkovna tabela Relacijske podatkovne zbirke MySQL Podatkovna zbirka o
Glavna datoteka
> (baza <- ocene[, c(1, 3, 7)])
1
2
3
4
5
sid pid ocena
1999 10
9
1999 20
10
2001 10
7
1999 30
6
2001 20
10
Uvod Besedilo v prostem formatu XML datoteka Podatkovna tabela Relacijske podatkovne zbirke MySQL Podatkovna zbirka o
Relacija
Dopolnitev imen uˇciteljev pri predmetih:
> link(predmeti, ucitelji, "uid")
uid ucitelj pid
predmet uid
1 100 Devetak 10 Matematika 100
2 200
Osmak 20
Fizika 200
4 300
Petek 30 Biologija 300
Uvod Besedilo v prostem formatu XML datoteka Podatkovna tabela Relacijske podatkovne zbirke MySQL Podatkovna zbirka o
Nadomestitev kod z opisi iz ˇsifrantov
Osnovna podatkovna zbirka
> (B <- baza)
1
2
3
4
5
sid pid ocena
1999 10
9
1999 20
10
2001 10
7
1999 30
6
2001 20
10
Uvod Besedilo v prostem formatu XML datoteka Podatkovna tabela Relacijske podatkovne zbirke MySQL Podatkovna zbirka o
Pripis ime ˇstudentov
> (B <- link(studenti, B, "sid"))
1
1.1
3
1.2
3.1
sid pid ocena sid
student
1999 10
9 1999 Miha Mihav
1999 20
10 1999 Miha Mihav
2001 10
7 2001 Mojca Smode
1999 30
6 1999 Miha Mihav
2001 20
10 2001 Mojca Smode
Uvod Besedilo v prostem formatu XML datoteka Podatkovna tabela Relacijske podatkovne zbirke MySQL Podatkovna zbirka o
Pripis imen predmetov
> (B <- link(predmeti, B, "pid"))
1
1.1
3
1.2
3.1
sid pid ocena sid
student pid
predmet uid
1999 10
9 1999 Miha Mihav 10 Matematika 100
1999 20
10 1999 Miha Mihav 20
Fizika 200
2001 10
7 2001 Mojca Smode 10 Matematika 100
1999 30
6 1999 Miha Mihav 30 Biologija 300
2001 20
10 2001 Mojca Smode 20
Fizika 200
Uvod Besedilo v prostem formatu XML datoteka Podatkovna tabela Relacijske podatkovne zbirke MySQL Podatkovna zbirka o
Pripis imen uˇciteljev
> (B <- link(ucitelji, B, "uid"))
1
1.1
3
1.2
3.1
1
1.1
3
1.2
3.1
sid pid ocena sid
student pid
predmet uid u
1999 10
9 1999 Miha Mihav 10 Matematika 100 1
1999 20
10 1999 Miha Mihav 20
Fizika 200 2
2001 10
7 2001 Mojca Smode 10 Matematika 100 1
1999 30
6 1999 Miha Mihav 30 Biologija 300 3
2001 20
10 2001 Mojca Smode 20
Fizika 200 2
sid pid ocena sid
student pid
predmet uid uid ucitelj
1999 10
9 1999 Miha Mihav 10 Matematika 100 100 Devetak
1999 20
10 1999 Miha Mihav 20
Fizika 200 200
Osmak
2001 10
7 2001 Mojca Smode 10 Matematika 100 100 Devetak
1999 30
6 1999 Miha Mihav 30 Biologija 300 300
Petek
2001 20
10 2001 Mojca Smode 20
Fizika 200 200
Osmak
Uvod Besedilo v prostem formatu XML datoteka Podatkovna tabela Relacijske podatkovne zbirke MySQL Podatkovna zbirka o
Z opisi nadomeˇsˇcena in razˇsirjena zbirka podatkov
> ids <- grep("id", names(B))
> B[, -ids]
1
1.1
3
1.2
3.1
ocena
student
predmet ucitelj
9 Miha Mihav Matematika Devetak
10 Miha Mihav
Fizika
Osmak
7 Mojca Smode Matematika Devetak
6 Miha Mihav Biologija
Petek
10 Mojca Smode
Fizika
Osmak
Uvod Besedilo v prostem formatu XML datoteka Podatkovna tabela Relacijske podatkovne zbirke MySQL Podatkovna zbirka o
Relacijske podatkovne zbirke
RDBMS: Relational Data Base Management System
MySQL
Oracle
PostgreSQL
Access (MS)
Uvod Besedilo v prostem formatu XML datoteka Podatkovna tabela Relacijske podatkovne zbirke MySQL Podatkovna zbirka o
Knjiˇznica in katalog
Uvod Besedilo v prostem formatu XML datoteka Podatkovna tabela Relacijske podatkovne zbirke MySQL Podatkovna zbirka o
Opis PCR poskusa
Uvod Besedilo v prostem formatu XML datoteka Podatkovna tabela Relacijske podatkovne zbirke MySQL Podatkovna zbirka o
Kaj bi zbirali
Uvod Besedilo v prostem formatu XML datoteka Podatkovna tabela Relacijske podatkovne zbirke MySQL Podatkovna zbirka o
Podatkovni tipi
Uvod Besedilo v prostem formatu XML datoteka Podatkovna tabela Relacijske podatkovne zbirke MySQL Podatkovna zbirka o
Tipi polj: ˇstevilski
Uvod Besedilo v prostem formatu XML datoteka Podatkovna tabela Relacijske podatkovne zbirke MySQL Podatkovna zbirka o
Tipi polj: besedila in drugo
Uvod Besedilo v prostem formatu XML datoteka Podatkovna tabela Relacijske podatkovne zbirke MySQL Podatkovna zbirka o
Smiselna razporeditev informacij
Uvod Besedilo v prostem formatu XML datoteka Podatkovna tabela Relacijske podatkovne zbirke MySQL Podatkovna zbirka o
Dodatna zbirka naroˇcil in povezave
Uvod Besedilo v prostem formatu XML datoteka Podatkovna tabela Relacijske podatkovne zbirke MySQL Podatkovna zbirka o
Shema podatkovnih zbirk s kljuˇci in povezavami
Uvod Besedilo v prostem formatu XML datoteka Podatkovna tabela Relacijske podatkovne zbirke MySQL Podatkovna zbirka o
Ukazi MySQL: priprava baze in tabel
CREATE DATABASE PCR_experiment;
USE PCR_experiment;
CREATE TABLE Scientist (
email VARCHAR(255) NOT NULL,
given_name VARCHAR(255) ,
family_name VARCHAR(255) ,
title VARCHAR(255) ,
department VARCHAR(255) ,
tel_country INT,
tel_area INT,
tel_number INT,
PRIMARY KEY (email)
) ;
Uvod Besedilo v prostem formatu XML datoteka Podatkovna tabela Relacijske podatkovne zbirke MySQL Podatkovna zbirka o
ˇ nekaj ukazov
Se
INSERT INTO Scientist (email, given_name, family_name, titl
department, tel_country, tel_area, tel_number)
VALUES('[email protected]', 'Andrew', 'Scientist',
'Dr.', 'Toxicology', 44, 0117, 4960808);
INSERT INTO Scientist (department, email)
VALUES ('Systems Lab', '[email protected]');
Uvod Besedilo v prostem formatu XML datoteka Podatkovna tabela Relacijske podatkovne zbirke MySQL Podatkovna zbirka o
Izbire in povezave
DELETE FROM tablename WHERE field LIKE 'xyz';
SELECT * FROM Scientist WHERE given_name LIKE "Andre%";
JOIN za povezavo veˇc baz v izbiri
Uvod Besedilo v prostem formatu XML datoteka Podatkovna tabela Relacijske podatkovne zbirke MySQL Podatkovna zbirka o
Podatkovna zbirka ocen: Pregled tabel
Uvod Besedilo v prostem formatu XML datoteka Podatkovna tabela Relacijske podatkovne zbirke MySQL Podatkovna zbirka o
Struktura tabel
Uvod Besedilo v prostem formatu XML datoteka Podatkovna tabela Relacijske podatkovne zbirke MySQL Podatkovna zbirka o
Vnos podatkov
Uvod Besedilo v prostem formatu XML datoteka Podatkovna tabela Relacijske podatkovne zbirke MySQL Podatkovna zbirka o
Vnos podatkov
Uvod Besedilo v prostem formatu XML datoteka Podatkovna tabela Relacijske podatkovne zbirke MySQL Podatkovna zbirka o
Vnos ocen
Uvod Besedilo v prostem formatu XML datoteka Podatkovna tabela Relacijske podatkovne zbirke MySQL Podatkovna zbirka o
Poizvedba in poroˇcilo