python na informática para biodiversidade

38
pyconbrasil 2008 Python na Informática para Biodiversidade Dr. Mauro J. Cavalcanti E-mail: [email protected] Home page: www.maurobio.infobio.net

Upload: mauro-cavalcanti

Post on 18-May-2015

1.076 views

Category:

Technology


4 download

TRANSCRIPT

Page 1: Python na Informática para Biodiversidade

pyconbrasil 2008

Python na Informática para Biodiversidade

Dr. Mauro J. Cavalcanti

E-mail: [email protected]

Home page: www.maurobio.infobio.net

Page 2: Python na Informática para Biodiversidade

Definições• BIODIVERSIDADE: a diversidade biológica ou

"biodiversidade", é definida como a variedade das espécies vivas, os papéis ecológicos que desempenham e a diversidade genética que contém.

• BIOINFORMÁTICA: a aplicação da tecnologia de informação ao gerenciamento de dados biológicos ao nível molecular.

• INFORMÁTICA PARA BIODIVERSIDADE (Biodiversity Informatics): a aplicação da tecnologia de informação para compilar, organizar, analisar e disseminar informação acerca da diversidade biológica

• ECOINFORMÁTICA: a aplicação da tecnologia de informação para o manejo e análise de dados ecológicos

pyconbrasil 2008

Page 3: Python na Informática para Biodiversidade

Bioinformática Molecular

Informática para Biodiversidade

A idade da biologia molecular é virtualmente igual a dos computadores

(ca. 50 anos); > 95% dos dados estão digitalizados

A base de conhecimentos é 5X mais velha do que os computadores (ca. 250

anos); < 5% estão digitalizados

Linguagem comum (i.e., ATGC, aminoácidos, etc.)

Linguagem

imensamente complexa (pouca ou nenhuma padronização)

No mínimo $500Mi por ano gastos em bioinformática

$50Mi por ano gastos em informática para biodiversidade

Bioinformática x Informática para Biodiversidade

pyconbrasil 2008

Page 4: Python na Informática para Biodiversidade

informática para biodiversidade

Bioinformática

“bioinformática”

ecoinformáticagenômica

proteômica

pyconbrasil 2008

Page 5: Python na Informática para Biodiversidade

BioPython Ferramentas computacionais para biologia molecular

em Python Suporta vários formatos de arquivos utilizados em

bioinformática (FASTA, GenBank, etc.) Integrado a BioSQL, um esquema padronizado de

bancos de dados para sequências biomoleculares http://www.biopython.org

pyconbrasil 2008

Page 6: Python na Informática para Biodiversidade

Aplicações de Python em Informática para Biodiversidade

Bancos de dados Aplicativos Bibliotecas Protocolos

Ferramentas de busca Ferramentas de análise

Análise filogenética Análise estatística

pyconbrasil 2008

Page 7: Python na Informática para Biodiversidade

Extensão da Biodiversidade

1,75 milhões de espécies descritas Cada espécies tem, em média, > 3 sinônimos Estimativas do número total de espécies vivas variam de 8 a 40 milhões (ou mais!!!) > 2 bilhões de espécimes em coleções científicas 250 anos de literatura acumulada

pyconbrasil 2008

Page 8: Python na Informática para Biodiversidade

EstatísticasGenBank:

− 85.759.586.764 bases de nucleotídeos (Fevereiro, 2008)

EMBL:− 213.992.734.025 bases de nucleotídeos (Agosto

2008)Species 2000:

− 1.105.589 espécies, 86.426 táxons infraespecíficos, 720.040 sinônimos, 461.182 nomes vulgares (2008 Annual Checklist)

EOSDIS: − ca. 284 Terabytes de dados ambientais

pyconbrasil 2008

Page 9: Python na Informática para Biodiversidade

Photos: Chip Clark

Page 10: Python na Informática para Biodiversidade

Tipos de Dados sobre Biodiversidade

dados nomenclaturais− nomes válidos, sinônimos, taxonomia

dados descritivos− descritores anatômicos, morfológicos, ecológicos, etológicos,

bioquímicosdados geográficos

− coordenadas geográficas, nomes de áreasdados curatoriais

− evento de coleta, determinações, curadoria, etc.dados genéticos

− frequências gênicas e cromossômicas, sequências molecularesimagens

− raster, vetoresdados bibliográficos

pyconbrasil 2008

Page 11: Python na Informática para Biodiversidade

Dados sobre Biodiversidade

Family: Pyralidae

Order: Lepidoptera

Class: Insecta

Genus: Ostrinia Hübner, 1825

Vernacular (FR): Pyrale du maïs

Vernacular (ES): Piral del maíz

Vernacular (DE): Maiszünsler

Vernacular (EN): European Corn-borer

Collection: DGH LepidopteraRecord id: DGHEUR_003217Country: FranceCoordinates: 03.047˚E 48.730˚NDate: 28 June 2003Collector: Donald Hobern

Dados sobre espécimes e observações de coleta

Nomes Taxonômicos

Species: Ostrinia nubilalis (Hübner, 1796)

Synonym: Pyralis nubilalis Hübner, 1796

Foodplant: Zea mais L. 1753

Interações Ecológicas

Locus: AAL35331Definition: acyl-CoA Z/E11 desaturase

1 mvpyattadg hpekdecfed...

Dados de Seqüências

Average RainfallLocation: 48.82°N 2.29°E Jan Feb Mar Apr ...182.3 120.6 158.1 204.9 ...

Dados Abióticos

Diagnosis: Wingspan 26-30mm; sexually dimorphic;male: forewings ochreous to dark brown; female: forewings pale yellow; …

Descrições Taxonômicas

Pheromones of Ostriniahttp://www.nysaes.cornell.edu/fst/faculty/acree/pheronet/phlist/ostrinia.html

Literatura Digitale Recursos Web

pyconbrasil 2008

Page 12: Python na Informática para Biodiversidade

Sinônimos

pyconbrasil 2008

Stegomyia aegypti 16.400 Aedes aegypti 1.480.000 Culex aegypti 715

Page 13: Python na Informática para Biodiversidade

Características dos Dados Descritivos

Caracteres de diferentes tipos− qualitativos, quantitativos

VariabilidadeHierarquia taxonômicaValores ausentesDependência de caracteres

pyconbrasil 2008

Page 14: Python na Informática para Biodiversidade

Matriz de Dados BiológicosTáxon Cor da

florComprimento da

corola (mm)Presença

de folíolosPresença de

pêlosfoliares

Viciacracca

Azul ouvioleta

8-12 Presente ?

Vicia.sativasubsp.sativa

Púrpura 18-30 Presente Presente

Viciasativasubsp.nigra

Púrpura 10-19 Presente Presente

Lathyrusaphaca

Amarela 20-80 Ausente X

? = desconhecido, X = não-aplicável

pyconbrasil 2008

Page 15: Python na Informática para Biodiversidade

DELTA (Description Language for Taxonomy)

• Formato padronizado para a representação de descrições taxonômicas

• Pacote de programas para o processamento de descrições codificadas neste formato

• Desenvolvido a partir de 1973 por Mike Dallwitz na CSIRO Division of Entomology, Austrália

• Adotado em 1988 pelo TDWG / IUBS como padrão internacional para a representação e intercâmbio de dados taxonômicos

• Disponível na Internet desde 1993– http://www.delta-intkey.com

pyconbrasil 2008

Page 16: Python na Informática para Biodiversidade

Formato DELTA

• Formato aberto• Aceita todos os tipos de caracteres, tanto

qualitativos (duplo-estado e multiestado, ordenados ou não-ordenados) quanto quantitativos (contínuos e descontínuos)

• Comentários são permitidos nos caracteres e estados

• Suporta a dependência lógica entre caracteres• Inclui instruções (diretivas) para controlar o

processamento dos dados pelos vários programas componentes do sistema

pyconbrasil 2008

Page 17: Python na Informática para Biodiversidade

Lista de caracteres em DELTA#1. striated area on maxillary palp <presence>/

1. present/2. absent/

#2. pronotum <colour>/1. red/

2. black/

3. yellow/#3. eyes <size>/

1. of normal size <i.e. less than 0.5mm in diameter>/

2. very large <i.e. more than 0.5mm in diameter>/#4. frons <setae>/

1. with setae on anterior middle and above eyes/

2. with setae above eyes only/

3. without setae/#5. number of lamellae in antennal club/#6. length/ mm/#7. <comments>/

pyconbrasil 2008

Page 18: Python na Informática para Biodiversidade

Matriz de dados em DELTA# V. aintabensis <Boiss. & Hausskn. ex Boiss.>/ 1,1 2,20-50(-80) 3,1-3 4,1-4 5,2 6,2 7,1 8,1/2 9,3/4 10,32-60 11,2-6 12,6-26

13,1-4 14,20-39 15,2 16,2/3 17,8-14 18,1/2/3/4/5 19,1 20,1 21,2/3 22,1/2<rarely>23,1 24,1 25,U 26,2-6 27,10-24 28,2-4 29,3-6 30,2 31,2 32,1 33,1/2 34,2/3 35,9-18 36,1 37,2<or pale yellow> 38,1/2 39,2 40,1 41,8-16 42,2 43,1 44,1 45,6-11 46,4.5-9.5 47,1-2 48,1 49,1 50,4-6.5 51,2.5-4.5 52,1-2 53,3 54,3 55,4-8 56,18-26(-40) 57,7-10 58,1 59,1 60,4 61,2 62,1 63,1 64,2/3/4 65,2 66,2-667,4-5.5 68,4-5.5 69,1 70,0.07-0.1 71,2 72,3 73,1 74,2 75,2 76,1

# V. anatolica <Turrill>/ 1,1 2,12-40 3,1-3 4,0.5-2 5,1/2 6,1/2 7,1 8,1/2 9,1/3 10,32-67 11,2-6 12,5-22

13,1-3 14,15-38(-50) 15,2 16,2/3 17,8-16 18,1/2/3 19,1 20,1 21,3/4 22,1 23,2 24,1/2<rarely> 25,1-3 26,1-2 27,13-17 28,2-4 29,4-5.5 30,3 31,2/3 32,1 33,1 34,3/4 35,9-20 36,1 37,5 38,1 39,1 40,2 41,12-17 42,5 43,3 44,2 45,10.5-14 46,8.5-13 47,1-2 48,1 49,1 50,4.5-8 51,3.5-6.5 52,1.5-3.5 53,3 54,3 55,4-7 56,15-25(-30) 57,6-8 58,1 59,2 60,4 61,1/2 62,1 63,1 64,4 65,2 66,3-6 67,3.5-4.5 68,3.5-4.5 69,4.5-6 70,0.07-0.11 71,1 72,3 73,1 74,2 75,4 76,1

pyconbrasil 2008

Page 19: Python na Informática para Biodiversidade

PyDELTA

pyconbrasil 2008

• Biblioteca genérica de classes Python para a leitura de arquivos no formato DELTA

• Contém 6 classes:– Delta– DeltaCharList– CharDescr– DeltaItemList– ItemDescr– DeltaSpecs

• Distribuída como software livre, nos termos da Licença Pública GNU (http://www.gnu.org)

• http://freedelta.sourceforge.net

Page 20: Python na Informática para Biodiversidade

Bauble

pyconbrasil 2008

SGBD para o manejo de coleções botânicas

Desenvolvido no Jardm Botânico de Belize

Baseado em PyGTK, SQLAlchemy, lxml

Suporta MySQL, PostgreSQL, SQLite

http://bauble.belizebotanic.org

Page 21: Python na Informática para Biodiversidade

Características dos Bancos de Dados de Biodiversidade

• Heterogêneos• Autônomos• Distribuídos

InteroperabilidadeInteroperabilidadepyconbrasil 2008

Page 22: Python na Informática para Biodiversidade

Bancos de Dados de Coleções Biológicas Distribuídos

FishNET http://www.fishnet2.net

HerpNET http://www.herpnet.org

Mammal Networked Information System (MaNIS) http://manisnet.org

ORNithological Information System (ORNIS) http://ornisnet.org/

Ocean Biogeographic Information System (OBIS) http://www.iobis.org

speciesLink http://splink.cria.org.br

pyconbrasil 2008

Page 23: Python na Informática para Biodiversidade

Distribuídos: Protocolos para a recuperação de dados estruturados de múltiplos bancos de dados heterogêneos através da Internet

Genéricos: Protocolos independentes dos dados recuperados e do software usado para armazenamento e recuperação

DiGIR: Darwin Corehttp://www.digir.net

BioCASE: ABCD Schemahttp://www.biocase.org

Protocolos de Recuperação de Dados de Coleções Biológicas

• TAPIR DiGIR + BioCASEhttp://www.pywrapper.org

pyconbrasil 2008

Page 24: Python na Informática para Biodiversidade

Análise Filogenética

Boostscore:http://bootscore.sourceforge.net

Cactus-pie: http://www.pricklysoft.org/software/cactus-pie.html

Mavric: http://www.bioinformatics.org/mavric

P4: http://www.nhm.ac.uk/research-curation/projects/P4

pyconbrasil 2008

Page 25: Python na Informática para Biodiversidade

Mavric

Aplicação para a edição e visualização de árvores filogenéticas

Baseada em PIL (Python Image Library) e PyGTK

pyconbrasil 2008

http://www.bioinformatics.org/mavric

Page 26: Python na Informática para Biodiversidade

Análise (Bio)Estatística

NumPy:http://www.numpy.org

SciPy:http://www.scipy.org

RPy:http://rpy.sourceforge.net

Matplotlibhttp://matplotlib.sourceforge.net/

pyconbrasil 2008

Page 27: Python na Informática para Biodiversidade

“A Enciclopédia da Vida”

Prof. Edward O. Wilson (Harvard University) “Uma página na Web para cada espécie”

pyconbrasil 2008

Page 28: Python na Informática para Biodiversidade

Extensão da biodiversidade

1.750.000 espécies descritas

pyconbrasil 2008

Page 29: Python na Informática para Biodiversidade

Ferramentas de Busca

• iSpecies (PHP, Perl) http://darwin.zoology.gla.ac.uk/~rpage/ispecies/

• iSpecies Clone (JSON)http://www.canadianarachnology.org/iSpecies/

• e-Species (Python)http://especies.infobio.net/

pyconbrasil 2008

Page 30: Python na Informática para Biodiversidade

e-Species

Aplicação Python CGI

Utiliza httplib, urllib, xml.dom

ca. 400 linhas de código

pyconbrasil 2008

http://especies.infobio.net

Page 31: Python na Informática para Biodiversidade

Anatomia do e-Species

pyconbrasil 2008

Page 32: Python na Informática para Biodiversidade

e-Species “API”

Como módulo: import especiessearchCOL = COLSearch()(name, author, status, valid_name, valid_author, taxon) = searchCOL.search(“Vicia faba”)print taxon

Como URL: http://especies.infobio.net/cgi-bin/especies.py?name=Vicia+faba

pyconbrasil 2008

Page 33: Python na Informática para Biodiversidade

Outros Projetos LifeScape

interface cliente para recuperação de informações sobre biodiversidade de bancos de dados heterogêneos distribuídos (e-Species, wxPython)

ECOLOG sistema gerenciador de bancos de dados para

levantamentos ecológicos de campo (pysqlite, wxPython, NumPy, SciPy)

Croizat programa para análises quantitativas em biogeografia

(matplotlib, pyshapelib, wxPython, RPy)

pyconbrasil 2008

Page 34: Python na Informática para Biodiversidade

ECOLOGECOLOG (1990-1993)

ECOLOG 2000

pyconbrasil 2008

Page 35: Python na Informática para Biodiversidade

Croizat

pyconbrasil 2008

Matplotlib + Basemap

Minimum Spanning Tree (Algoritmo de Prim)

Page 36: Python na Informática para Biodiversidade

Python in Biodiversity Informatics

http://pybio.infobio.net

pyconbrasil 2008

Page 37: Python na Informática para Biodiversidade

Apoio

AtivaHost Internet http://www.ativahost.com

Projeto Biotupé / Instituto Nacional de Pesquisas da Amazônia http://biotupe.inpa.gov.br

Conservation International http://www.conservation.org.br

pyconbrasil 2008

Page 38: Python na Informática para Biodiversidade

Perguntas?

pyconbrasil 2008