45
Ciência aberta na prática: Reproducibilidade, notebooks e tudo mais Luiz Irber Michigan State University

Reproducibilidade, Ciência aberta na prática: notebooks e tudo … · 2019-02-14 · Ciência aberta na prática: Reproducibilidade, notebooks e tudo mais Luiz Irber Michigan State

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Reproducibilidade, Ciência aberta na prática: notebooks e tudo … · 2019-02-14 · Ciência aberta na prática: Reproducibilidade, notebooks e tudo mais Luiz Irber Michigan State

Ciência aberta na prática: Reproducibilidade, notebooks e tudo maisLuiz IrberMichigan State University

Page 2: Reproducibilidade, Ciência aberta na prática: notebooks e tudo … · 2019-02-14 · Ciência aberta na prática: Reproducibilidade, notebooks e tudo mais Luiz Irber Michigan State
Page 3: Reproducibilidade, Ciência aberta na prática: notebooks e tudo … · 2019-02-14 · Ciência aberta na prática: Reproducibilidade, notebooks e tudo mais Luiz Irber Michigan State

Meu primeiro projeto● Efeitos de feromônios em insetos● Software disponível para Windows

○ portar para Linux● Borland C++ Builder/Kylix● Python + GStreamer● Sourceforge!● ~2005-2007

Page 4: Reproducibilidade, Ciência aberta na prática: notebooks e tudo … · 2019-02-14 · Ciência aberta na prática: Reproducibilidade, notebooks e tudo mais Luiz Irber Michigan State

SACAM

SACAMhttps://github.com/luizirber/bugbrother

Page 5: Reproducibilidade, Ciência aberta na prática: notebooks e tudo … · 2019-02-14 · Ciência aberta na prática: Reproducibilidade, notebooks e tudo mais Luiz Irber Michigan State

Python Brasil● Primeira participação: 2007● 2010

○ Recém-formado○ "A gente tem um supercomputador novo e

precisamos de engenheiros, tá a fim?"

Page 6: Reproducibilidade, Ciência aberta na prática: notebooks e tudo … · 2019-02-14 · Ciência aberta na prática: Reproducibilidade, notebooks e tudo mais Luiz Irber Michigan State

Tupã

Page 7: Reproducibilidade, Ciência aberta na prática: notebooks e tudo … · 2019-02-14 · Ciência aberta na prática: Reproducibilidade, notebooks e tudo mais Luiz Irber Michigan State

Modelagem climática

Modelagem climática: processos envolvidoshttps://www2.ucar.edu/sites/default/files/news/2011/CESM_final.jpg

Page 8: Reproducibilidade, Ciência aberta na prática: notebooks e tudo … · 2019-02-14 · Ciência aberta na prática: Reproducibilidade, notebooks e tudo mais Luiz Irber Michigan State
Page 9: Reproducibilidade, Ciência aberta na prática: notebooks e tudo … · 2019-02-14 · Ciência aberta na prática: Reproducibilidade, notebooks e tudo mais Luiz Irber Michigan State

Desenvolvimento●Modelo escrito em Fortran●Equipe

○ quatro integrantes inicialmente○ cresceu para mais de quinze

●Como organizar o processo?

Page 10: Reproducibilidade, Ciência aberta na prática: notebooks e tudo … · 2019-02-14 · Ciência aberta na prática: Reproducibilidade, notebooks e tudo mais Luiz Irber Michigan State

Desenvolvimento●Sistema de controle de versões

○ Mercurial●Redmine●Google docs●Lista de email

Page 11: Reproducibilidade, Ciência aberta na prática: notebooks e tudo … · 2019-02-14 · Ciência aberta na prática: Reproducibilidade, notebooks e tudo mais Luiz Irber Michigan State

Thalassa●Edição da grade oceânica●Python

○ Numpy + Matplotlib + Basemap + PyQt●Windows, OS X, Linux

Page 12: Reproducibilidade, Ciência aberta na prática: notebooks e tudo … · 2019-02-14 · Ciência aberta na prática: Reproducibilidade, notebooks e tudo mais Luiz Irber Michigan State

Um grande designer de UI =P

Page 13: Reproducibilidade, Ciência aberta na prática: notebooks e tudo … · 2019-02-14 · Ciência aberta na prática: Reproducibilidade, notebooks e tudo mais Luiz Irber Michigan State

Integração contínua●Bosun

○ Fabric●Jenkins

○ monitorar o repositório○ disparar os scripts○ monitorar os status dos

builds/runs

Page 14: Reproducibilidade, Ciência aberta na prática: notebooks e tudo … · 2019-02-14 · Ciência aberta na prática: Reproducibilidade, notebooks e tudo mais Luiz Irber Michigan State

Operacionalização● Execução diária● Formatação dos dados

○ Entradas○ Saídas

● Bosun○ Python ~> Bash○ Vários truques novos

Page 15: Reproducibilidade, Ciência aberta na prática: notebooks e tudo … · 2019-02-14 · Ciência aberta na prática: Reproducibilidade, notebooks e tudo mais Luiz Irber Michigan State

●Modelo gera resultados condizentes com a realidade?

●Validação é necessária para disponibilização do modelo

●Análise humana leva muito tempo○ E necessita de uma equipe muito maior

●Testes○ Comparar com medições○ Avaliar numericamente quão bom está

●Como fazer?

Validação do modelo

Page 16: Reproducibilidade, Ciência aberta na prática: notebooks e tudo … · 2019-02-14 · Ciência aberta na prática: Reproducibilidade, notebooks e tudo mais Luiz Irber Michigan State

● Mercado○ Ambiente técnico fantástico, mas...○ Qual o objetivo?

● Academia○ 'level up'○ Muita autorreflexão…○ Seguir na modelagem?

Buscando alternativas

Page 17: Reproducibilidade, Ciência aberta na prática: notebooks e tudo … · 2019-02-14 · Ciência aberta na prática: Reproducibilidade, notebooks e tudo mais Luiz Irber Michigan State

Bioinformática?

Page 18: Reproducibilidade, Ciência aberta na prática: notebooks e tudo … · 2019-02-14 · Ciência aberta na prática: Reproducibilidade, notebooks e tudo mais Luiz Irber Michigan State

Bioinformática?

Page 19: Reproducibilidade, Ciência aberta na prática: notebooks e tudo … · 2019-02-14 · Ciência aberta na prática: Reproducibilidade, notebooks e tudo mais Luiz Irber Michigan State
Page 20: Reproducibilidade, Ciência aberta na prática: notebooks e tudo … · 2019-02-14 · Ciência aberta na prática: Reproducibilidade, notebooks e tudo mais Luiz Irber Michigan State

Bioinformática!● Chicken genome improvement project

○ Regiões não mapeadas■ Microcromossomos

● khmer: HyperLogLog○ estimativa de cardinalidade

● Treinamento○ Software Carpentry○ undergrads○ 'pair support'

Page 21: Reproducibilidade, Ciência aberta na prática: notebooks e tudo … · 2019-02-14 · Ciência aberta na prática: Reproducibilidade, notebooks e tudo mais Luiz Irber Michigan State

(slide: Titus Brown)

Page 22: Reproducibilidade, Ciência aberta na prática: notebooks e tudo … · 2019-02-14 · Ciência aberta na prática: Reproducibilidade, notebooks e tudo mais Luiz Irber Michigan State

(slide: Titus Brown)

Page 23: Reproducibilidade, Ciência aberta na prática: notebooks e tudo … · 2019-02-14 · Ciência aberta na prática: Reproducibilidade, notebooks e tudo mais Luiz Irber Michigan State
Page 24: Reproducibilidade, Ciência aberta na prática: notebooks e tudo … · 2019-02-14 · Ciência aberta na prática: Reproducibilidade, notebooks e tudo mais Luiz Irber Michigan State

(slide: Titus Brown)

Page 25: Reproducibilidade, Ciência aberta na prática: notebooks e tudo … · 2019-02-14 · Ciência aberta na prática: Reproducibilidade, notebooks e tudo mais Luiz Irber Michigan State

http://ged.msu.edu/papers/2012-diginorm/(slide: Fernando Perez)

Page 26: Reproducibilidade, Ciência aberta na prática: notebooks e tudo … · 2019-02-14 · Ciência aberta na prática: Reproducibilidade, notebooks e tudo mais Luiz Irber Michigan State

Better science through superior software

(slide: Titus Brown)

Page 27: Reproducibilidade, Ciência aberta na prática: notebooks e tudo … · 2019-02-14 · Ciência aberta na prática: Reproducibilidade, notebooks e tudo mais Luiz Irber Michigan State

Licença e Makefile!https://github.com/luizirber/galGal

Page 28: Reproducibilidade, Ciência aberta na prática: notebooks e tudo … · 2019-02-14 · Ciência aberta na prática: Reproducibilidade, notebooks e tudo mais Luiz Irber Michigan State

Um notebook por passohttps://github.com/luizirber/galGal

Page 29: Reproducibilidade, Ciência aberta na prática: notebooks e tudo … · 2019-02-14 · Ciência aberta na prática: Reproducibilidade, notebooks e tudo mais Luiz Irber Michigan State

Hmmmm….https://github.com/luizirber/galGal

Page 30: Reproducibilidade, Ciência aberta na prática: notebooks e tudo … · 2019-02-14 · Ciência aberta na prática: Reproducibilidade, notebooks e tudo mais Luiz Irber Michigan State

Visualizando notebookshttps://github.com/luizirber/galGal

Page 31: Reproducibilidade, Ciência aberta na prática: notebooks e tudo … · 2019-02-14 · Ciência aberta na prática: Reproducibilidade, notebooks e tudo mais Luiz Irber Michigan State

Explicações, código e comandoshttps://github.com/luizirber/galGal

Page 32: Reproducibilidade, Ciência aberta na prática: notebooks e tudo … · 2019-02-14 · Ciência aberta na prática: Reproducibilidade, notebooks e tudo mais Luiz Irber Michigan State

Figuras também!https://github.com/luizirber/galGal

Page 33: Reproducibilidade, Ciência aberta na prática: notebooks e tudo … · 2019-02-14 · Ciência aberta na prática: Reproducibilidade, notebooks e tudo mais Luiz Irber Michigan State

(slide: Fernando Perez)

Page 34: Reproducibilidade, Ciência aberta na prática: notebooks e tudo … · 2019-02-14 · Ciência aberta na prática: Reproducibilidade, notebooks e tudo mais Luiz Irber Michigan State

(slide: Fernando Perez)

Page 35: Reproducibilidade, Ciência aberta na prática: notebooks e tudo … · 2019-02-14 · Ciência aberta na prática: Reproducibilidade, notebooks e tudo mais Luiz Irber Michigan State

http://reproducibility.cs.arizona.edu/

"Can a CS student build the software within 30 minutes, including finding and installing any dependent software and libraries, and without bothering the authors?"

Reproducibilidade em Ciência da Computação

Page 36: Reproducibilidade, Ciência aberta na prática: notebooks e tudo … · 2019-02-14 · Ciência aberta na prática: Reproducibilidade, notebooks e tudo mais Luiz Irber Michigan State

Measuring Reproducibility in Computer Systems Researchhttp://reproducibility.cs.arizona.edu/

Page 37: Reproducibilidade, Ciência aberta na prática: notebooks e tudo … · 2019-02-14 · Ciência aberta na prática: Reproducibilidade, notebooks e tudo mais Luiz Irber Michigan State

Measuring Reproducibility in Computer Systems Researchhttp://reproducibility.cs.arizona.edu/

Page 38: Reproducibilidade, Ciência aberta na prática: notebooks e tudo … · 2019-02-14 · Ciência aberta na prática: Reproducibilidade, notebooks e tudo mais Luiz Irber Michigan State

(slide: Fernando Perez)

Page 39: Reproducibilidade, Ciência aberta na prática: notebooks e tudo … · 2019-02-14 · Ciência aberta na prática: Reproducibilidade, notebooks e tudo mais Luiz Irber Michigan State

Open source como exemplohttps://wiki.debian.org/ReproducibleBuilds

"It should be possible to reproduce, byte for byte, every build of every package in Debian."

(quantos anos até o projeto Debian ter estrutura suficiente para isso?)

Page 40: Reproducibilidade, Ciência aberta na prática: notebooks e tudo … · 2019-02-14 · Ciência aberta na prática: Reproducibilidade, notebooks e tudo mais Luiz Irber Michigan State

http://db-reproducibility.seas.harvard.edu/

Page 41: Reproducibilidade, Ciência aberta na prática: notebooks e tudo … · 2019-02-14 · Ciência aberta na prática: Reproducibilidade, notebooks e tudo mais Luiz Irber Michigan State

(slide: Fernando Perez)

Page 42: Reproducibilidade, Ciência aberta na prática: notebooks e tudo … · 2019-02-14 · Ciência aberta na prática: Reproducibilidade, notebooks e tudo mais Luiz Irber Michigan State

Make it work,then make it better● Soluções de baixo atrito

○ Pessoas devem ser capazes de usar!○ e entender!

● Makefile○ Pipeline

● Scripts○ código reusável

● Notebooks○ Análise○ Figuras○ "Amarrar"

Page 43: Reproducibilidade, Ciência aberta na prática: notebooks e tudo … · 2019-02-14 · Ciência aberta na prática: Reproducibilidade, notebooks e tudo mais Luiz Irber Michigan State

Treinamento● Como ensinar pensamento computacional

para cientistas?● Como evitar "push button research"?

Page 44: Reproducibilidade, Ciência aberta na prática: notebooks e tudo … · 2019-02-14 · Ciência aberta na prática: Reproducibilidade, notebooks e tudo mais Luiz Irber Michigan State

Software Carpentry● organização sem fins lucrativos

○ voluntários● ensinar habilidades computacionais básicas

para fazer cientistas mais produtivos e seu trabalho mais confiável a longo prazo

● Workshops curtos (e intensos!)○ organização de programas, controle de versões,

testes e automação de tarefas.

Page 45: Reproducibilidade, Ciência aberta na prática: notebooks e tudo … · 2019-02-14 · Ciência aberta na prática: Reproducibilidade, notebooks e tudo mais Luiz Irber Michigan State

Perguntas?@[email protected]