Big Data e Saude - facom.ufu.brhumberto/sbbd2017/wp-content/uploads/sites/3/... · • Modelagem...

24
1 Bio-SGBD: precisamos? Workshop Databases Meet Bioinformatics (DBBio) Simpósio Brasileiro de Bancos de Dados (SBBD) – Uberlândia (MG), Outubro 2017 Sérgio Lifschitz SGBD-Bio: Precisamos? Resposta: NULL ( … mas acho que sim…) Alternativas : Sistemas Ad-hoc SGBD relacionais estendidos SGBD não-relacionais, NoSQL, NewSQL

Transcript of Big Data e Saude - facom.ufu.brhumberto/sbbd2017/wp-content/uploads/sites/3/... · • Modelagem...

Page 1: Big Data e Saude - facom.ufu.brhumberto/sbbd2017/wp-content/uploads/sites/3/... · • Modelagem (conceitual) de dados • Transações e otimização de E/S ... Quantidade de Hits

1

Bio-SGBD: precisamos?

Workshop Databases Meet Bioinformatics (DBBio)

Simpósio Brasileiro de Bancos de Dados (SBBD) – Uberlândia (MG), Outubro 2017

Sérgio Lifschitz

SGBD-Bio: Precisamos?

Resposta: NULL ( … mas acho que sim…)

Alternativas:

• Sistemas Ad-hoc

• SGBD relacionais estendidos

• SGBD não-relacionais, NoSQL, NewSQL

Page 2: Big Data e Saude - facom.ufu.brhumberto/sbbd2017/wp-content/uploads/sites/3/... · • Modelagem (conceitual) de dados • Transações e otimização de E/S ... Quantidade de Hits

2

BDs e bio-*

Questões fundamentais• Modelagem (conceitual) de dados

• Transações e otimização de E/S

Questões recentes e avançadas• Workflows e proveniência de dados

• Data streams, P2P, grids, nuvem, Big Data

Abordagem básica: de CS para Bio!

vs biological inspired computing !

Aspectos Fundamentais

Page 3: Big Data e Saude - facom.ufu.brhumberto/sbbd2017/wp-content/uploads/sites/3/... · • Modelagem (conceitual) de dados • Transações e otimização de E/S ... Quantidade de Hits

3

Biologia Molecular

heterogeneidade

Grande Volume

Dis

trib

uiç

ão

@ Cristian Tristão

Tamanho

• Genbank mais de 100Gbases

• Mais de 100 milhões de registros de sequências

Human Genome Project

• 3 Giga pares de bases, em uma certa ordem, para cada indivíduo, sem incluir anotações!

Alguns fatos

• Sequências: no mínimo quadruplica a cada ano

• Sanger Center: + de 20 TB “terror bytes”

• Micro arrays: pelo menos 1 PB/ano

VLDB?

Page 4: Big Data e Saude - facom.ufu.brhumberto/sbbd2017/wp-content/uploads/sites/3/... · • Modelagem (conceitual) de dados • Transações e otimização de E/S ... Quantidade de Hits

4

Persistência

Armazenamento

Estruturas de Dados

Backup

ADTs e métodos

Buffer e cache

Gerência de memóriaPrinter

Video

File

Operating System Abstract Layer

Video

Device

Printer

Device

File System

DevicePipeLine

Program

A

Program

B

Program

C

Program

D

Métodos de Acesso

Organização de arquivos

Indexação

Page 5: Big Data e Saude - facom.ufu.brhumberto/sbbd2017/wp-content/uploads/sites/3/... · • Modelagem (conceitual) de dados • Transações e otimização de E/S ... Quantidade de Hits

5

Transações

Faz sentido para Bio?

Controle de concorrência

Recuperação

Otimização de Consultas

Especificação de consultas

Linguagens declarativas

Filtros estáticos

Planos ótimos

Operadores ad-hoc

Page 6: Big Data e Saude - facom.ufu.brhumberto/sbbd2017/wp-content/uploads/sites/3/... · • Modelagem (conceitual) de dados • Transações e otimização de E/S ... Quantidade de Hits

6

Modelagem

3 fases?

Abstração conceitual

Modelos lógicos

Nível físico

Evolução de esquemas

Como Gerenciar Sequências Biológicas?

.fasta.txt

...

TEXTVARCHAR

BLOB

funçõesscripts

• replace(string text, from text, to text)

• strpos(string, substring)• substr(string, from [, count])

• translate(string text, from text, to text)

atgaaggcaatactagtagtctgctatatacatttgcaaccgcaaatgcagacacattatgtataggttatcatgcgaacaattcaacagacact

gtagacacagtactagaaaagaatgtaacagtaacacactctgttaaccttctagaagacaagcataacgggaaactatgcaaactaagag

gggtagccccattgcatttgggtaaatgtaacattgctggctggatcctgggaaatccagagtgtgaatcactctccacagcaagctcatggtcct

acattgtggaaacacctatttaccaggtgttcagacaatggaacgtgttacccaggagatttcatcgattatgaggagctaagagag ...

Sequência de Nucleotídeo

@ Cristian Tristão

Page 7: Big Data e Saude - facom.ufu.brhumberto/sbbd2017/wp-content/uploads/sites/3/... · • Modelagem (conceitual) de dados • Transações e otimização de E/S ... Quantidade de Hits

7

Tipo Abstrato de Dados

Funções

SG

BD

Po

stg

reSQ

L

persistência

manipulação / acesso

I II III I

V

Translationcode

complement

reverse

getGCcontent

transcript

translation

searchORF

Sequence

=

Text Type@ Cristian Tristão

Funções básicas

Dado uma sequência de DNA, é retornado o seu transcrito.

Ex.: transcript(‘ACGGCTATTTAGACT’) = ACGGCUAUUUAGACU

Dado uma sequência, é retornado seu conteúdo GC.

Ex.: getGCcontent(‘ACGGCTATTTAGACT’) = 6

Conteúdo GC: getGCcontent

(“sequence”)

Transcrição: transcript(“sequence”)

@ Cristian Tristão

Page 8: Big Data e Saude - facom.ufu.brhumberto/sbbd2017/wp-content/uploads/sites/3/... · • Modelagem (conceitual) de dados • Transações e otimização de E/S ... Quantidade de Hits

8

Funções específicas

Dado uma sequência de nucleotídeos é

retornada a sequência de aminoácidos.

Ex.: translation(2,‘ACGGCTATTTAGACT’) = RLFR

Tradução: translation (“position”, “sequence”)

Dada seq. nucleotídeos retorna conjunto de ORFs com um tamanho mínimo.

Ex.: searchORF(1,‘ACGAUGCUAUUUAGAUAGCUG’, 10) = AUGCUAUUUAGAUAG

Procura ORF: searchORF (“position”, “sequence”, “tam”)

@ Cristian Tristão

Questões de Análise

Quantidade de Proteínas Comparadas

Proteínas com Sequência Genômica de Origem

Quantidade de Genomas que Pertencem a um Grupo Taxonômico

Quantidade de Proteínas que Pertencem a um Grupo Taxonômico

Quantidade de Hits para uma Proteína “X”, + Linha de Corte

Genes Únicos

Genes Parálogos

Genes Ortólogos

Page 9: Big Data e Saude - facom.ufu.brhumberto/sbbd2017/wp-content/uploads/sites/3/... · • Modelagem (conceitual) de dados • Transações e otimização de E/S ... Quantidade de Hits

9

Esquema Conceitual

@ Cristian Tristão

e Marcia Bezerra

Esquema Conceitual

@ Cristian Tristão

e Marcia Bezerra

Page 10: Big Data e Saude - facom.ufu.brhumberto/sbbd2017/wp-content/uploads/sites/3/... · • Modelagem (conceitual) de dados • Transações e otimização de E/S ... Quantidade de Hits

10

Visão Geral

AnáliseEsquema Conceitual

• Quantidade de Proteínas Comparadas

• Proteínas com Sequência Genômica de Origem

• Quantidade de Genomas que Pertencem a um Grupo

Taxonômico

• Quantidade de Proteínas que Pertencem a um Grupo

Taxonômico

• Quantidade de Hits para uma Proteína “X”, + Linha. de

Corte

• Genes Únicos

• Genes Parálogos

• Genes Ortólogos

Questões de Interesse

ValidaçãoModelo Lógico

• getTaxonomyIdChildren

• getTaxonomyIdChildrenS

et

• getCountGenomeTaxon

omy

• getCountProteinTaxono

my

• getCountHitsProtein

Funções SQL/PGSQL

• getProteinTaxonom

y

• getSimilarProtein

• getSingleGene

• getOrthologousGen

e

• getParalogousGen

e

@ Cristian Tristão

Carga dos Dados

Fontes Externas

Taxonomy

Refseq

protein

I II III I

V

hit_pp

I II III I

V

cds

I II III I

V

taxonomy

I II III I

V

...

ETL - Extract, Transform and Load

Prototipaç

ão

@ Cristian Tristão

Page 11: Big Data e Saude - facom.ufu.brhumberto/sbbd2017/wp-content/uploads/sites/3/... · • Modelagem (conceitual) de dados • Transações e otimização de E/S ... Quantidade de Hits

11

Tópicos Avançados

Integração de dados

Fontes heterogêneas

Data warehouses

Frameworks

@ LF Seibel

Page 12: Big Data e Saude - facom.ufu.brhumberto/sbbd2017/wp-content/uploads/sites/3/... · • Modelagem (conceitual) de dados • Transações e otimização de E/S ... Quantidade de Hits

12

Ambiente distribuídos

Paralelismo

Clusters

P2P and grids

Multicore

Balanceamento de carga

Bio-Workflows

Sistemas de Gerenciamento

Definição: nível de abstração

Interação and integração

Consistência

Modelo Execução

Proveniência

Page 13: Big Data e Saude - facom.ufu.brhumberto/sbbd2017/wp-content/uploads/sites/3/... · • Modelagem (conceitual) de dados • Transações e otimização de E/S ... Quantidade de Hits

13

MHOLline

• “Prediction of tridimensional protein structuresvia comparative modeling”

WF Experimentos In-silico(1/3)

@ Luciana Gomes

Geração de árvores filogenéticas

Clustal

Muscle

Seqbo

ot

Protdist

Protdist

Neighb

or

Consens

e

Fitch

Protein

Sequences

Filogenetic

tree

WF Experimentos In-silico(2/3)

@ Luciana Gomes

e Marcia Bezerra

Page 14: Big Data e Saude - facom.ufu.brhumberto/sbbd2017/wp-content/uploads/sites/3/... · • Modelagem (conceitual) de dados • Transações e otimização de E/S ... Quantidade de Hits

14

Descrito como um data-flow

Uso de scripts

• Conhecimento da linguagem

• Difícil manutenção

• Problemas com reuso e compartilhamento

Clustal Muscleseq AlignmentRefined

Alignement

WF Experimentos In-silico(3/3)

@ Luciana Gomes

SWfMS

Scientific Workflow Management Systems

• WF Interface de autoria

• Atividades Pre-determinadas

• Facilidade de manutenção e gerência

• Em geral representados como dataflows

• Pode capturar automaticamente dados de proveniência!

Page 15: Big Data e Saude - facom.ufu.brhumberto/sbbd2017/wp-content/uploads/sites/3/... · • Modelagem (conceitual) de dados • Transações e otimização de E/S ... Quantidade de Hits

15

SWfMS: proveniência

Clustal MuscleA

1

• Tempos de execução

• Onde executou

• Processamento dos resultados

Definição

Execução

Prospective

Provenance

Retrospective

Provenance

A

2Clustal MuscleA

1

C:\seq.txt type = 1 it = 3

C:\...\temp

@ Luciana Gomes

Bio-* Dataflows

VLDBs em arquivos texto!

Programas em linha de comando

• BLAST

• Modeller

Scripts para usuários finais

• BATS

• FILTERS

Page 16: Big Data e Saude - facom.ufu.brhumberto/sbbd2017/wp-content/uploads/sites/3/... · • Modelagem (conceitual) de dados • Transações e otimização de E/S ... Quantidade de Hits

16

Desafios

Modelo de proveniência

Gestão de dados produzidos e consumidos de maneira padronizada

Descrição de atividades

... (e muito mais) ...

Particularly: Data reusability and Reproducibility

Níveis de Reprodutibilidade

• Definition reuse

• Conceitual

• Strict

• Mesmos dados e atividades

Reproducibility

Clustal MuscleProtein Sequences

A2A1

v 1.0 v 2.3

Clustal Muscle

type = 1 it = 3

type = 1 it = 3

@ Luciana Gomes

Page 17: Big Data e Saude - facom.ufu.brhumberto/sbbd2017/wp-content/uploads/sites/3/... · • Modelagem (conceitual) de dados • Transações e otimização de E/S ... Quantidade de Hits

17

... Dos dados produzidos com proveniência de origem?

Reuso

Main Workflow

Refined Workflow

@ Luciana Gomes

SGBDs Disponíveis

Oracle

• BLASTN stored proc and BLOB sequences

IBM DB2 life sciences connect

MS SQL Server

PostgreSQL

• BLASTonDB, BLASTgres

Page 18: Big Data e Saude - facom.ufu.brhumberto/sbbd2017/wp-content/uploads/sites/3/... · • Modelagem (conceitual) de dados • Transações e otimização de E/S ... Quantidade de Hits

18

SGBDs e Extensões

Oracle Data Mining (ODM) BLAST

identificador = VARCHAR

Sequência = CLOB

(Character

Large OBject)Regular Expression Searches

Conjunto de funcionalidades@ Cristian Tristão

SGBDs e Extensões

I II III I

V

Sequência = Cadeia de caracteres

parameter hit

I II III I

V

@ Cristian Tristão

Page 19: Big Data e Saude - facom.ufu.brhumberto/sbbd2017/wp-content/uploads/sites/3/... · • Modelagem (conceitual) de dados • Transações e otimização de E/S ... Quantidade de Hits

19

SGBDs e Extensões

G T T A ... T T .. C A ... G G1 2 3 4 ... 18219 18220 .. 25515 25516 ... 45996 45997

Homo sapiens chromosome 19

T T G C A ... T G A G T C A

1 2 3 4 5 .. 7291 7292 7293 7294 7295 7296 7297

Contig AC112702.3

T G A G T C A

1 2 3 4 5 6 7

Protein X

18219 18220 18221 18222 18223 .. 25510 25511 25512 25513 25514 25515 25516

Contig = loc(‘Homo sapiens chromosome 19’, [18219 ..

25516])

7291 7292 7293 7294 7295 7296 7297

range = [18219 .. 25516]

(c)

Protein X = loc(‘Contig’, [7291 .. 7297])

range = [7291 .. 7297]

(a)

Protein X = loc(‘Homo sapiens chromosome 19’, [25510

.. 25516])

range = [25510 .. 25516](b)

@ Cristian Tristão

BDBMS

Biological data add several challenges and requirements to current DBMSs

bdbms is a database management system for supporting and processing biological data

bdbms is being prototyped using PostgreSQL

bdbms

Annotation and provenance

management

Local dependency tracking

Content-based update

authorization

Non-traditional and novel

access methods

A-SQL language

Page 20: Big Data e Saude - facom.ufu.brhumberto/sbbd2017/wp-content/uploads/sites/3/... · • Modelagem (conceitual) de dados • Transações e otimização de E/S ... Quantidade de Hits

20

BDBMS Motivação

Biological data adds new challenges and requirements to DBMSs

• Community-based curation and provenance tracking

• Complex dependencies that usually involve external procedures

• Authorization that depends not only on the user’s identity but also on the content of the data

• Various data types and large amounts of data

GID GName GSequence

JW0080 mraW ATGATGGAAAA…

JW0041 fixB ATGAACACGTT…

JW0037 caiB ATGGATCATCT…

JW0055 yabP ATGAAAGTATC…

Gene B3: obtained from GenoBase

B1: Curated by user admin

B2: possibly split by frameshift

B5: This gene has an unknown function

B4: pseudogene

GID ProteinSequence

JW0080 MMENYKHTTV…

JW0041 MNTFSQVWVF…

JW0037 MDHLPMPKFG…

JW0055 MKVSVPGMPV …

Protein

Prediction tool

BDBMS - Exemplo de anotação

GID GName GSequence

JW0080 mraW ATGATGGAAAA…

JW0082 ftsI ATGAAAGCAGC…

JW0055 yabP ATGAAAGTATC…

JW0078 fruR GTGAAACTGGA…

DB1_Gene

A3: Involved in methyltransferase activity

A1: These genes are published in …

A2: These genes were obtained from RegulonDB

GID GName GSequence

JW0080 mraW ATGATGGAAAA…

JW0041 fixB ATGAACACGTT…

JW0037 caiB ATGGATCATCT…

JW0055 yabP ATGAAAGTATC…

JW0027 ispH ATGCAGATCCT…

DB2_GeneB3: obtained from GenoBase

B5: This gene has an unknown function

B4: pseudogene

B2: possibly split by frameshift

B1: Curated by user admin

Page 21: Big Data e Saude - facom.ufu.brhumberto/sbbd2017/wp-content/uploads/sites/3/... · • Modelagem (conceitual) de dados • Transações e otimização de E/S ... Quantidade de Hits

21

BDBMS – Esquema Simples de Armazenamento

GID Ann_GID GName Ann_GName GSequence Ann_GSequence

JW0080 mraW ATGATGGAAAA… A3

JW0082 A1 ftsI A1 ATGAAAGCAGC…

JW0055 A1, A2 yabP A1, A2 ATGAAAGTATC… A2

JW0078 A2 fruR A2 GTGAAACTGGA… A2

DB1_Gene

GID Ann_GID GName Ann_GName GSequence Ann_GSequence

JW0080 B1, B5 mraW B1, B5 ATGATGGAAAA… B3, B5

JW0041 B1 fixB B1 ATGAACACGTT… B3

JW0037 B1, B4 caiB B1, B4 ATGGATCATCT… B3, B4

JW0055 yabP B2 ATGAAAGTATC… B3

JW0027 ispH B2 ATGCAGATCCT… B3

DB2_Gene

Every data column has a corresponding annotation column

Handling multi-granularity annotations

Hard to perform optimizations

Example:

A2 and B3 are repeated 6 and 5 times, respectively

Propagating Annotations

Key requirement is to simplify users’ queries

Without a database system support, users’ queries may become complex and user-unfriendly

Q1: Retrieve genes that are common in DB1_Gene

and DB2_Gene along with their annotations

Page 22: Big Data e Saude - facom.ufu.brhumberto/sbbd2017/wp-content/uploads/sites/3/... · • Modelagem (conceitual) de dados • Transações e otimização de E/S ... Quantidade de Hits

22

Respondendo Q1

R1(GID, GName, GSequence) =

SELECT GID, GName, GSequence

FROM DB1_Gene

INTERSECT

SELECT GID, GName, GSequence

FROM DB2_Gene

R2(GID, GName, GSequence, Ann_GID,

Ann_GName, Ann_GSequence) =

SELECT R.GID, R.GName, R.GSequence,

G.Ann_GID, G.Ann_GName,

G.Ann_GSequence

FROM R 1 R, DB1_Gene G

WHERE R.GID = G.GID

R3(GID, GName, GSequence, Ann_GID, Ann_GName, Ann_GSequence) =

SELECT R.GID, R.GName, R.GSequence, R.Ann_GID + G.Ann_GID,

R.Ann_GName + G.Ann_GName,

R.Ann_GSequence + G.Ann_GSequence

FROM R2 R, DB2_Gene G

WHERE R.GID = G.GID

Indexing

Biological data contains various data formats (Sequences are dominant)

BDBMS supports:

• Multi-dimensional index structures (suitable for protein 3D structures)

• Compressed index structures (suitable for large sequences)

Page 23: Big Data e Saude - facom.ufu.brhumberto/sbbd2017/wp-content/uploads/sites/3/... · • Modelagem (conceitual) de dados • Transações e otimização de E/S ... Quantidade de Hits

23

Multi-dimensional Indexes

Integrating SP-GiST inside bdbms

• SP-GiST is a generic indexing framework for indexing multidimensional data (kd-tree, quadtree, …) [SSDBM01, JIIS01, ICDE04, ICDE06 ]

• Suitable for protein 3D structures and surface shape matching

PostgreSQL Function Manager

PostgreSQL Engine

SP-GiST Core

SP-GiST

kd-treeSP-GiST

Quad-tree

4. Indexing and Query Processing:Compressed Indexes

Compressing the data improves the system performance

• Storage and I/O operations

Compressing biological sequences using Run-Length-Encoding (RLE)

SBC-tree is a novel index structure for indexing and searching RLE-compressed sequences without decompressing it

indexing compressed sequences

sequence compression

Protein secondary structure:

LLLEEEEEEEHHHHHHHHHHHHHHHHHHHHHHEEEEEELLEEELHHHHHHHHHHLL

LLLLLLLLHHHHHHHHHHHHHHHHLLLLEEEEEEEHHHHHHHHHHHHEEEEEEEEEE

LLLLHHHHHHHLLLLHHHHHHHHHHHHHHEEEEEEEEEEHHHHHHHEEEEEEEEHH

HHHHHHHHEEEELEEEEEEEEEELLLEEEEEEEELLLLHHHHHHHHHHHHHHHEEEE

EELLEEEELLLLLLLLHHHHHHHHHHHHHHHHHHHHEEEELEEEEEEEEEELEEEEEL

LLLLLLLLEEEEELLLLLLEEEEEEEELEEEEEEEEELLLEEEEHHHHHHHHHHHHHHH

HHHEEEEELLLEEEEEEEEELLLHHHHHHHHHHHHHHHHHHHHLHHHHHHHHHHHH

EEEEELEEEEHHHHHHHHHHHHHHHHHEEEEEELLLLLEEEEEEELLLLEEEEEEEEE

EEEELEEEEEEEEEEEEEEHHHHHHHHHHHHHHLLLLLEEEEEEEEEEHHHHHHHEE

EEEEHHHHHHHHHHLLLLLLHHHHHHHHHHHEEEEEEEEEEEHHHHHHHHHHHHHL

LEEEEELLLLLLLLLLHHHHHHHHHHHHHHHHHHLLLEEEEEEEHHHHHHHHHHLLLL

EEEEEEEEEEEEEEEEEELLLLEEELLHHHHHHHHHLLLLLLLLLLLHHHHHHHHHHHH

HHHHHHHHEEEEEEEEEEELEEEEHHHHHHHHHHHHLHHHHHHHHHHHHHHLLEE

EEEEEELLLLEEEEEEEEELLLLLEEEEELLLLLEEEEEEEEELLLEEEEEEEEELLLEEE

HHHHHHHHHHHHHLLLL

RLE compressed form:

L3E7H22E6L2E3L1H10L10H16L4E7H12E10L4H7L4H14E10H7E8H10E4L1E10L3E8L

4H15E6L2E4L8H20E4L1E10L1E5L9E5L6E8L1E9L3E4H18E5L3E9L3H20L1H12E5L1E

4H17E6L5E7L4E13L1E14H14L5E10H7E6H10L6H11E11H13L2E5L10H18L3E7H9L4E

18L4E3L2H9L11H20E11L1E4H12L1H14L2E8L4E9L5E5L5E9L3E9L3E3H13L4

SBC-tree

Page 24: Big Data e Saude - facom.ufu.brhumberto/sbbd2017/wp-content/uploads/sites/3/... · • Modelagem (conceitual) de dados • Transações e otimização de E/S ... Quantidade de Hits

24

SGBD-Bio: ENTÃO - Precisamos?

Resposta: provavelmente SIM!

Acknowledgments

Alunos e Ex-alunos: Cristian Tristão, Carlos Juliano Viana, Melissa Lemos, Márcia Bezerra, Luiz Fernando Bessa Seibel,

Janaína Oleinik, José Antonio Fernandes de Macêdo, Renato C. Mauro, Paulo Gomes, Daniel Xavier de Sousa, Maíra

Ferreira de Noronha, Rogério L. C. Costa, Luciana Gomes, Marcos Silva, Elvismary Molina de Armas, Julio Omar

Entenza, Alejandro Menes e Guilherme Borba Neumann.

Principais colaboradores: (Fiocruz) Antonio Basilio de Miranda, Wim Degrave e Marcos Catanho, (UFRJ) Paulo

Cavalcanti Ferreira (UNB) Maristela Holanda e Maria Emilia Walter, (Telecom Bretagne) Philippe Picouet e Sebastien

Bigaret, (Sanger) Thomas Otto (LNCC) Laurent Dardenne e Fabio Porto (PUC-Rio) Hermann Haeusler e Livia Uehara.

Eventos: Colaboradores durante organização WOB 2003 (Macaé), BSB 2007 (Angra dos Reis) e BSB 2010 (Búzios)