You are on page 1of 5

NEUROINFORMTICA, DECEMBER 2015

Bioconductor
Carlos Fernando Montoya Cubas, CMCC, UFABC,

ResumoO projeto Bioconductor uma iniciativa para a


criao colaborativa de software extensvel para a biologia
computacional e bioinformtica. Os objetivos do projeto incluem:
promover o desenvolvimento colaborativo e utilizao generalizada de software inovador, reduzindo as barreiras entrada em
pesquisa cientfica interdisciplinar, e promover a concretizao da
reprodutibilidade remota dos resultados da investigao. Neste
trabalho detalhamos os objetivos do bioconductor asim como
faremos comparaes com outros projetos de bioinformtica de
codigo aberto, e fornecemos exemplos de trabalho.
Index Termsbioconductor, bio-informatics, neuroinformatics.

I. I NTRODUO
Ioconductor [1] uma iniciativa para a criao coletiva
de software para a biologia computacional e a bioinformtica Computational biology and bioinformatics (CBB) ,
onde grupes de pesquisadores desenvolveram mtodos estadsticos, como processos biolgicos num entorno computacional.
A principal motivao deste projeto que os pesquisadores
tenham uma ferramenta para o compartilhamento de dados,
resultados e a adio de novos mtodos ao projeto. As motivaes primordiais so:
Transparncia: necessrio mostrar os processos da transformao de dados de baixo nvel a banco de dados estatsticos
biolgicos.
Busca da reprodutibilidade: Os protocolos da biologia
experimental devem ser publicados, tanto o mtodo, cdigo
fonte como os dados nos quais so baseados cada metodologia.
Eficincia de desenvolvimento: No se refere somente
ao desenvolvimento do software, tambm aos processos subjacentes ao mtodo, assim novos pesquisadores podem ampliar ou melhorar os mtodos existentes. A estratgia de
desenvolvimento do software similar ao que foi feito pelo
GNU/Linux, a ideia ao igual que esse projeto disponibilizar
o projeto a todos os pesquisadores em biologia computacional,
bioinformtica e reas de pesquisa similares um conjunto de
ferramentas computacionais que ajudem na pesquisa de todas
essas reas.
Seleo do software: A maioria dos softwares desenvolvidos para os estudos em bioinformtica foram feitos em
R como MAANOVA [10] e dChip[11]. Esse fato alm do
crescente uso do R em outras reas de pesquisa, faz que o
projeto Biocondutor tenha escolhido o R como linguagem de
desenvolvimento. As capacidades do R da criao de pacotes
faz que a criao de novos prottipos seja de um jeito mais
simples e organizado, tambm facilita o compartilhamento de
estes j que so de cdigo aberto.

II. C ARACTERISTICAS DO SOFTWARE


As principais carateristicas do bioconductor so:

A linguagem R:
CBB apresenta uma ampla gama de desafios, e qualquer
projeto de desenvolvimento de software, ser necessrio considerar os aspectos especficos que ir abordar. Em particular
o bioconductor esta interessado em problemas de gesto e
anlise de dados associados com microarranjos de DNA. Esta
orientao necessita de um ambiente de programao que
tenha boas capacidades numricos, recursos de visualizao
flexveis, o acesso a bases de dados e uma grande variedade de
algoritmos estatsticos e matemticos. O R posui uma gama de
ferramentas estatsticas e de visualizao bem implementadas
que o eficas para lidar com o desenvolvimento e distribuio
do tempo de software robusto para CBB. Vemos tambm que
o R est ganhando uso generalizado na comunidade CBB
independentemente do projeto Bioconductor. Muitos outros
projetos de bioinformtica e os investigadores encontraram
R ser uma boa linguagem e conjunto de ferramentas com a
qual trabalhar. Exemplos incluem MAANOVA [2] e dChip
[3]. Temos agora enumerar sucintamente as caractersticas do
ambiente de software R que so importantes motivaes por
trs de sua seleo.
Capacidades de prototipagem R uma linguagem interpretada de alto nvel em que se pode facilmente e rapidamente
escrever prottipos de novos mtodos computacionais. Estes
mtodos podem no ser executados rapidamente na lenguagem
interpretada, e aqueles que so bem sucedidos sero os que
ficaro amplamente utilizados, muitas vezes, tm de ser reaplicado a funcionar mais rapidamente. Isso muitas vezes
um bom compromisso; podemos explorar lotes de conceitos
com facilidade e colocar mais esforo em aqueles que so bem
sucedidos.[4], [1]
Protocolo de empacotamento O ambiente de R inclui um
sistema bem estabelecido para a embalagem de componentes
de software relacionados entre si e documentao. H uma
grande quantidade de apoio na linguagem para a criao, teste
e distribuio de software sob a forma de pacotes. Usando
um sistema de pacotes nos permite desenvolver diferentes
mdulos de software e distribu-los com noes claras de
cumprimento do protocolo, a validao baseada em teste, a
identificao de verso, e as interdependncias de pacotes.
O sistema de embalagem tem sido adotado por centenas de
desenvolvedores ao redor do mundo e est no corao do
Comprehensive R Archive Network, onde vrias centenas de
pacotes independentes, mas interoperveis que abordam uma
ampla gama de objetivos, anlise e visualizao de estatsticas
pode ser baixado como cdigo aberto. [1]
Suporte de programao orientada a objeto A complexidade dos problemas em CBB muitas vezes traduzido
em uma necessidade para muitas ferramentas de software
diferentes para atacar um nico problema. Assim, muitos
pacotes de software so utilizadas para uma nica anlise.

NEUROINFORMTICA, DECEMBER 2015

Para garantir uma interoperabilidade confivel entre pacotes, o


bioconductor adota uma disciplina de programao orientada
a objeto formal, como codificado no sistema S4 "de clases
formais e mtodos [5]. O projeto Bioconductor foi um dos
primeiros a adotar a disciplina S4 e foi a motivao para uma
srie de melhorias em programao orientada a objetos para
R. [1]
Conectividade WWW O acesso aos dados a partir de fontes
on-line uma parte essencial da maioria dos projetos CBB. R
tem um conjunto de funes bem desenvolvidas e testadas e
pacotes que fornecem acesso a bancos de dados diferentes e
aos recursos da Internet (via http, por exemplo). H tambm
um pacote para lidar com XML [6], disponvel a partir do
projeto Omegahat, e uma verso inicial de um pacote para
um cliente SOAP [7], tambm disponvel a partir do projeto
Omegahat. O bioconductor tm ajudado o CBB no sentido
de criar um ambiente no qual o usurio percebe uma forte
integrao de diversas fontes de dados, anotao e anlise.
Simulao estatstica e suporte de modelagem: R fornece
um conjunto de algoritmos estatsticos, geradores de nmeros
aleatrios e algoritmos de aprendizado de mquina. Estes
algoritmos foram tambm testados e so conhecidos por ser
fiveis. O Projeto Bioconductor tem sido capaz de adapt-las
s exigncias em CBB com o mnimo esforo.
Suporte para computao concorrente: R tem sido tambm a base para pioneiro de pesquisa em computao estatstica paralela. Pacotes como snow e rpvm simplifica o
desenvolvimento de cdigo interpretado por clusters computacionais. Essas ferramentas fornecem interfaces simples
que permitem a experimentao de alto nvel em computao
paralela pela computao em funes e ambientes em sesses
R simultneas em mquinas possivelmente heterogneos. O
pacote de snow fornece um nvel mais alto de abstrao que
independente da tecnologia de comunicao, tais como a
interface de transmisso de mensagens (MPI) [8] ou a mquina
virtual paralela (PVM) [9]. Gerao de nmeros aleatrios
paralela [1], essencial ao distribuir partes de simulaes estocsticas em um cluster, gerido por rsprng. Benefcios prticos e problemas envolvidos com os processos de programao
paralela em R so descritos mais detalhadamente em Rossini
et al. [10] e Li e Rossini [11].
Comunidade Talvez o aspecto mais importante do uso de R
suas comunidades ativas de usurios e desenvolvedores. Esta
no uma linguagem esttica. R est passando por grandes
mudanas que incidem sobre a paisagem tecnolgica em mudana de computao cientfica. Expondo os bilogos a essas
inovaes e, simultaneamente, expondo todos os envolvidos na
computao estatstica s necessidades da comunidade CBB
tem sido muito proveitosa e de esperar benefcios para ambas
comunidades.
III. O UTROS PROJETOS ABERTOS DE SOFTWARE PARA
BIOINFORMTICA

O Open Bioinformatics Foundation apoia projectos semelhantes a Bioconductor que so nominalmente enraizada em
linguagens de programao especficas. BioPerl [12], biopython [13] e BioJava [14] so exemplos importantes de projetos
de bioinformtica baseados na linguagem de cdigo aberto.

A. BioPerl
BioPerl est claramente inclinado para o tratamento de
dados de seqncia e de interface com bases de dados de
sequncias, com suporte para visualizao de sequncia e
consultas para anotao externa. Bioconductor est inclinado
para anlise estatstica de experimentos de microarray, com
grandes preocupaes para o pr-processamento de matriz,
controle de qualidade, normalizao entre-matriz, ligao de
dados de variveis independentes e de desenho de dados de
expresso, e inferncia sobre questes biolgicas e clnicas.
Bioconductor tem pacotes dedicados fabricao e anlise
de paradigmas diversificada de microarray e outros ensaios
de alto rendimento de interesse em biologia computacional,
incluindo a anlise de srie da expresso gnica (SAGE),
array hibridizao genmica comparativa (arrayCGH), e timeof-flight protemica ( MS de SELDI-TOF) de dados. Ns
dizem que os projetos so inclinado para estas preocupaes,
porque claro que ambos os projectos em ltima anlise,
visam apoiar actividades gerais de investigao em biologia
computacional.[12]
B. BioJava
BioJava fornece Dazzle, um quadro servlet apoiar a especificao do sistema de anotao distribudo para a partilha de
dados de sequncia e metadados. Verso 1.4 do lanamento
BioJava inclui classes Java para alfabetos gerais e lista de
smbolo de processamento, ferramentas para anlise de sadas
de anlises relacionadas com a exploso, e software para
construir e modelos ocultos de Markov de montagem. Em
princpio, qualquer um desses recursos pode ser usado para
anlise em Bioconductor / R atravs da SJava interface [14].
C. BioPython
Biopython fornece software para a construo de objetos
python ao analisar a sada dos vrios algoritmos de alinhamento ou de agrupamento, e para uma variedade de tarefas,
incluindo a jusante classificao. Biopython tambm fornece
infra-estrutura para a decomposio de tarefas paralelizveis
nos processos separveis para a computao em um cluster de
estaes de trabalho. [13]
IV. U SANDO B IOCONDUCTOR ( EXEMPLO )
Os resultados do projeto Bioconductor incluem um extenso
repositrio de ferramentas de software, documentao, materiais de cursos de curta durao, e os dados de anotao
biolgica em [1]. Descreve-se a utilizao dos dados de
software e anotao pela descrio de uma anlise concreta de
um arquivo de microarray derivado de um estudo de leucemia.
Leucemia linfoctica aguda (ALL) um tumor maligno comum e difcil de tratar com uma variabilidade substancial nos
resultados teraputicos. Alguns ALL pacientes tm claramente
caracterizada aberraes cromossmicas e as consequncias
funcionais destas aberraes no so totalmente compreendidos. Ferramentas de Bioconductor foram utilizados para
desenvolver uma nova caracterizao da expresso do gene em
contraste entre ALL pacientes com duas formas especficas

NEUROINFORMTICA, DECEMBER 2015

de translocao cromossmica. As tarefas mais importantes


realizadas com Bioconductor empregado ferramentas simples
de usar para a normalizao state-of-the-art de centenas de
microarrays, esquematizao clara de dados de expresso
normalizados vinculados aos dados de variveis independentes
detalhadas, abordagens flexveis para filtragem de genes e
de exemplo para apoiar a analise at subconjuntos tratveis
e interpretveis, tecnologias de visualizao flexveis para a
explorao e comunicao dos resultados genmicas, e ligao
programtica entre metadados, plataforma de expresso e de
dados de anotao biolgicos. Vamos ilustrar estes atravs
de uma transcrio da comandos atual/sequencia de sada.
Verses mais detalhada de algumas das actividades de processamento e de anlise aqui esboadas pode ser encontrado
nas vinhetas do pacote GOstats.
O conjunto de dados do laboratrio Ritz no Dana Farber
Cancer Institute [15]. Ele contm dados de 128 pacientes com
ALL. Dois subgrupos esto a ser comparadas. O primeiro
grupo composto por pacientes com uma translocao entre
os cromossomos 4 e 11 (rotulado ALL1/AF4). O segundo
grupo composto por pacientes com uma translocao entre
os cromossomos 9 e 22 (rotulado BCR/ABL). Estas condies
so mutuamente exclusivos neste conjunto de dados.
A plataforma Affymetrix HGu95Av2 foi usada, e medidas de expresso foram normalizados utilizando gcrma do
pacote affy. A sada deste um objecto da classe exprSet
que pode ser utilizado como entrada para outras funes.
O pacote hgu95av2 fornece metadados biolgico, incluindo
mapeamentos dos identificadores Affymetrix para a localizao cromossmica, e assim por diante. Estes dados podem,
claro, ser obtido a partir de muitas outras fontes, mas existem
algumas vantagens em ter-los como um pacote de R.
Depois de carregar os pacotes apropriados que subconjunto
primeiro a ALL exprSet para extrair amostras com as covariveis de interesse. O desenho da classe exprSet inclui
mtodos para subdividir ambos os casos e sondas. Usando
a notao de colchetes na ALL, derivamos uma nova exprSet
com dados sobre somente os pacientes desejados.
> data("ALL")
> eset <- ALL[, ALL$mol %in%
c("BCR/ABL", "ALL1/AF4")]
Em seguida ns encontramos genes que so diferencialmente expressos entre os grupos ALL1/AF4 e BCR/ABL.
Ns usamos a funo LmFit do pacote limma, que pode
avaliar a expresso diferencial entre muitos grupos e condies
diferentes ao mesmo tempo. A funo LmFit aceita uma
matriz modelo que descreve o desenho experimental e produz
um objeto de sada de classe MArrayLM que armazena as
informaes modelo ajustado para cada gene. O objeto modelo
ajustado processada pelos eBayes funcion para produzir
testes estatsticos Bayes empricos para cada gene, incluindo
moderados t-statistics, p-values e log-odds de expresso diferencial. Os log2 f old mudanas, intensidades mdias e Holmajusted p-values so exibidos para os 10 melhores genes
(Figura 1).

Figura 1. Anlise limma dos dados ALL. Os nmeros mais esquerda so


ndices de linha, ID o nmero de acesso Affymetrix HGU95av2, M o
log da razo de expresso, A o log da expresso mdia, e B o log da
probabilidade de expresso diferencial.

Ns selecionamos os genes que tenham adaptado p-values


abaixo de 0,05. O mtodo padro de ajuste para comparaes
mltiplas utiliza o mtodo de Holm para controlar a taxa
de erro family-wise. Ns poderamos usar um mtodo menos
conservadora como a taxa de descoberta de falsas,o pacote
multtest oferece outras possibilidades, mas para este exemplo,
vamos usar o mtodo de Holm muito rigorosos para selecionar
um pequeno nmero de genes.
> selected <- p.adjust(fit$p.value[, 2])
< 0.05
> esetSel <- eset [selected,]
Existem 165 genes seleccionados para posterior anlise. Um
mapa de calor produzido pela funo de R heatmap permite
visualizar a aco diferencial destes genes entre os dois grupos
de pacientes. Note-se como os diferentes mdulos de software
podem ser integrados para fornecer um ambiente muito rico
em anlise de dados. A Figura 2 mostra claramente que os
dois grupos podem ser distinguidos em termos de expresso
do gene.
Podemos realizar muitos outros testes, por exemplo, se os
genes codificados em um cromossomo particular (ou talvez
em uma vertente especfica de um cromossomo) esto sobrerepresentados entre aqueles selecionados pelo moderado t-test.
Muitas destas questes so normalmente tratados em termos de
uma distribuio hipergeomtrico, mas que tambm pode ser
considerado como de duas vias ou de vias mltiplas tabelas,
e testes estatsticos alternados (todos prontamente disponveis
em R) pode ser aplicada aos dados resultantes.
Voltamo-nos momentaneamente a nossa ateno para a

NEUROINFORMTICA, DECEMBER 2015

Figura 2. Mapa de calor (produzido pela funo Bioconductor heatmap())


dos dados de leucemia ALL.

utilizao da anotao ontologia dos genes (GO), em conjunto


com estes dados. Em primeiro lugar, identificar o conjunto
de identificadores LocusLink nico entre as nossas sondas
Affymetrix selecionados. A funo GOHyperG encontrado
no pacote GOstats. Ele realiza um teste hipergeomtrico na
nossa lista seleccionada de genes para cada termo no grfico
GO que induzida por estes genes (Figura 3).
O menor p-value encontrado foi 1.1e-8 e corresponde ao
termo, "a atividade do receptor MHC classe II". Vemos que
seis dos 12 genes com essa anotao GO foram selecionados.
Se tivssemos usado um mtodo de seleco gene ligeiramente
menos conservador, o nmero de genes selecionados, nesta
anotao GO teria sido ainda maior.
Reproduzindo os resultados acima de qualquer outra espcie
ou chip para que um pacote de anotao estava disponvel
exigiria quase nenhumas alteraes no cdigo. O analista
precisa apenas substituir as referncias ao pacote de dados,
hgu95av2 , com os de sua matriz e os princpios bsicos e
cdigo mantm-se inalterados.
Da mesma forma, a substituio de outros algoritmos ou
testes estatsticos possvel quando o analista de dados tem
acesso ao cdigo-fonte completo. Todas as ferramentas so
modificveis no nvel de fonte para atender s necessidades
locais.
Este exemplo e as figuras usadas neste exemplo foram
obtidas de [4]
C ONCLUES
Apresentamos as principais caractersticas de software do
projeto Bioconductor, alem destas tem muitas mais coisas
que ns podemos fazer com bioconductor, dentro do site do
projeto podemos encontrar muitos tutorias para seguir com o
aprendizado do projeto. Bioconductor est operacional h mais
de dez anos o tempo fez tornou-se um projeto de software de

Figura 3. Anlise Hypergeometric do enriquecimento funo molecular dos


genes selecionados na anlise descrita na Figura 1.

destaque para bioinformtica. Argumentamos que o sucesso


do projeto devido a muitos fatores. Estes incluem a escolha
de R como a lngua principal de desenvolvimento, a adoo
de prticas padro de desenho de software e uma crena de
que a criao de infra-estrutura de software um componente
importante e essencial de um projeto bem-sucedido deste
tamanho.
R EFERNCIAS
[1] Bioconductor. (2016, Feb.) Bioconductor. [Online]. Available:
https://www.bioconductor.org/
[2] H. Wu, M. K. Kerr, X. Cui, and G. A. Churchill, The Analysis of Gene
Expression Data: Methods and Software. New York, NY: Springer New
York, 2003, ch. MAANOVA: A Software Package for the Analysis of
Spotted cDNA Microarray Experiments, pp. 313341.
[3] C. Li and W. H. Wong, Model-based analysis of oligonucleotide arrays:
Expression index computation and outlier detection, Proceedings of
the National Academy of Sciences, vol. 98, no. 1, pp. 3136, 2001.
[Online]. Available: http://www.pnas.org/content/98/1/31.abstract
[4] R. C. Gentleman, V. J. Carey, D. M. Bates, B. Bolstad, M. Dettling,
S. Dudoit, B. Ellis, L. Gautier, Y. Ge, J. Gentry et al., Bioconductor:
open software development for computational biology and bioinformatics, Genome biology, vol. 5, no. 10, p. R80, 2004.
[5] J. M. Chambers, Programming with data: A guide to the S language.
Springer Science & Business Media, 1998.
[6] W3C. (2016, Feb.) Extensible markup language (xml). [Online].
Available: https://www.w3.org/XML/

NEUROINFORMTICA, DECEMBER 2015

[7] . (2016, Feb.) Soap version 1.2. [Online]. Available:


https://www.w3.org/TR/soap/
[8] MPI. (2016, Feb.) Message passing interface. [Online]. Available:
http://www.mpi-forum.org/
[9] PVM. (2016, Feb.) Pvm (parallel virtual machine). [Online]. Available:
http://www.csm.ornl.gov/pvm/pvm
[10] A. J. Rossini, L. Tierney, and N. Li, Simple parallel statistical computing in r, Journal of computational and Graphical Statistics, vol. 16,
no. 2, pp. 399420, 2007.
[11] M. N. Li and A. Rossini, Rpvm: cluster statistical computing in r,
Porting R to Darwin/X11 and Mac OS X, p. 4, 2001.
[12] J. E. Stajich, An introduction to bioperl, in Plant Bioinformatics.
Springer, 2007, pp. 535548.
[13] B. Chapman and J. Chang, Biopython: Python tools for computational
biology, ACM Sigbio Newsletter, vol. 20, no. 2, pp. 1519, 2000.
[14] R. C. Holland, T. A. Down, M. Pocock, A. Prlic, D. Huen, K. James,
S. Foisy, A. Drger, A. Yates, M. Heuer et al., Biojava: an opensource framework for bioinformatics, Bioinformatics, vol. 24, no. 18,
pp. 20962097, 2008.
[15] S. Chiaretti, X. Li, R. Gentleman, A. Vitale, M. Vignetti, F. Mandelli,
J. Ritz, and R. Foa, Gene expression profile of adult t-cell acute
lymphocytic leukemia identifies distinct subsets of patients with different
response to therapy and survival, Blood, vol. 103, no. 7, pp. 27712778,
2004.

You might also like