Skip to content

Commit

Permalink
exemplos de relatórios e apresentações em markdown e atualização da r…
Browse files Browse the repository at this point in the history
…ubrica
  • Loading branch information
fbarth committed Nov 8, 2024
1 parent d29fadd commit fa48ea9
Show file tree
Hide file tree
Showing 10 changed files with 234 additions and 29 deletions.
4 changes: 3 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,13 @@
# Sprint session 4o semestre 2024/2

Tema: **CNN para detecção de deficiência de recombinação homologa (HRD)**
Tema: **Modelo para detecção de deficiência de recombinação homologa (HRD)**

Empresa parceira: **DASA**

## Documentos relacionados

Antes de iniciar o projeto, **leiam com atenção os documentos a seguir, em espeical, o documento de Requisitos e o documento da Rubrica**.

* [Escopo do projeto](escopo.md)
* [Requisitos](requisitos.md)
* [Agenda](agenda.md)
Expand Down
Binary file added referencias/Bioinfo_101_INSPER.pdf
Binary file not shown.
6 changes: 6 additions & 0 deletions reports/README.md
Original file line number Diff line number Diff line change
@@ -1 +1,7 @@
Neste diretório serão armazenados os documentos solicitados ao longo do projeto.

Para compilar os arquivos markdown em PDF você pode utilizar o seguinte comando:

```bash
pandoc --bibliography referencias.bib -N --variable "geometry=margin=1.2in" --variable fontsize=12pt relatorio_final.md --pdf-engine=xelatex --toc -o relatorio_final.pdf
```
93 changes: 93 additions & 0 deletions reports/exemplo_apresentacao.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
---
marp: true
title: Modelo para detecção de deficiência de recombinação homologa (HRD)
footer: 'Sprint DASA - 4o semestre'
---

<style>
footer {
position: fixed;
bottom: 10px;
left: 1050px;
width: 400px;
}

footer img {
vertical-align: middle;
}
</style>


Modelo para detecção de deficiência de recombinação homologa (HRD)
===

![width:300px](img/capa.png)

###### Equipe....

---

Qual é o problema?
===

- o problema é....

---

Datasets
===

A distribuição dos valores do dataset ....

```
Positivo 3295
Negativo 1135
Name: count, dtype: int64
```

---

Exemplo de trecho de código
===

- talvez seja relevante...

```python
merged_df['TeveAcesso'] = np.where(
merged_df['Decisao'] == 'Acesso Concedido', 'Acesso Concedido',
np.where(
merged_df['Decisao'] == 'Acesso Parcialmente Concedido', 'Acesso Parcialmente Concedido', 'Acesso Negado'
)
)
```

---

Exemplo de apresentação dos resultados
===


```python
F1 Score: 0.6859388509722292 Accuracy: 0.8428165007112376
```

```python
precision recall f1-score support

0 0.89 0.76 0.82 507
1 1.00 0.22 0.36 83
2 0.82 0.96 0.88 816

accuracy 0.84 1406
macro avg 0.90 0.64 0.69 1406
weighted avg 0.86 0.84 0.83 1406
```

---

Considerações finais e próximas atividades
===

* os resultados obtidos com o algoritmo xxxxx
* ....

Binary file added reports/img/capa.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
46 changes: 46 additions & 0 deletions reports/referencias.bib
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
@ARTICLE{pozzo2023,
title = "{GIInger} predicts homologous recombination deficiency and
patient response to {PARPi} treatment from shallow genomic
profiles",
author = "Pozzorini, Christian and Andre, Gregoire and Coletta, Tommaso and
Buisson, Adrien and Bieler, Jonathan and Ferrer, Lo{\"\i}c and
Kempfer, Rieke and Saintigny, Pierre and Harl{\'e}, Alexandre and
Vacirca, Davide and Barberis, Massimo and Gilson, Pauline and
Roma, Cristin and Saitta, Alexandra and Smith, Ewan and Consales
Barras, Floriane and Ripol, Lucia and Fritzsche, Martin and
Marques, Ana Claudia and Alkodsi, Amjad and Marin, Ray and
Normanno, Nicola and Grimm, Christoph and M{\"u}llauer, Leonhard
and Harter, Philipp and Pignata, Sandro and Gonzalez-Martin,
Antonio and Denison, Ursula and Fujiwara, Keiichi and Vergote,
Ignace and Colombo, Nicoletta and Willig, Adrian and
Pujade-Lauraine, Eric and Just, Pierre-Alexandre and Ray-Coquard,
Isabelle and Xu, Zhenyu",
abstract = "Homologous recombination deficiency (HRD) is a predictive
biomarker for poly(ADP-ribose) polymerase 1 inhibitor (PARPi)
sensitivity. Routine HRD testing relies on identifying BRCA
mutations, but additional HRD-positive patients can be identified
by measuring genomic instability (GI), a consequence of HRD.
However, the cost and complexity of available solutions hamper GI
testing. We introduce a deep learning framework, GIInger, that
identifies GI from HRD-induced scarring observed in low-pass
whole-genome sequencing data. GIInger seamlessly integrates into
standard BRCA testing workflows and yields reproducible results
concordant with a reference method in a multisite study of 327
ovarian cancer samples. Applied to a BRCA wild-type enriched
subgroup of 195 PAOLA-1 clinical trial patients, GIInger
identified HRD-positive patients who experienced significantly
extended progression-free survival when treated with PARPi.
GIInger is, therefore, a cost-effective and easy-to-implement
method for accurately stratifying patients with ovarian cancer
for first-line PARPi treatment.",
journal = "Cell Rep. Med.",
volume = 4,
number = 12,
pages = "101344",
month = dec,
year = 2023,
keywords = "HRD; PARPi; biomarker; breast cancer; cancer; convolutional
neural network; homologous recombination deficiency; low-pass
whole-genome sequencing; lpWGS; ovarian cancer",
language = "en"
}
32 changes: 32 additions & 0 deletions reports/relatorio_final.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
---
title: Modelo para detecção de deficiência de recombinação homologa (HRD) - pode alterar
author: Listar o nome dos autores
date: 08 de novembro de 2024
lang: pt-br
---

# Introdução e objetivos

O objetivo deste trabalho é....

Este trabalho é baseado no artigo [@pozzo2023].

# Dados disponíveis

Os dados disponíveis para este trabalho são...

# Método

O método utilizado para a classificação dos pedidos de acesso à informação foi...

# Resultados

Os resultados obtidos com o modelo de classificação foram...

# Considerações finais

As considerações finais deste trabalho são...

# Referências


Binary file added reports/relatorio_final.pdf
Binary file not shown.
13 changes: 9 additions & 4 deletions requisitos.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,9 @@ Todas as equipes serão formadas por 4 estudantes.
* **MLEng**: Equipe de Machine Learning Engineering. Esta equipe será responsável pelo entendimento dos dados e desenvolvimento do modelo de machine learning. Em algumas organizações, esta equipe também é chamada de equipe de *Data Science*.
* **MLOps**: Equipe de Machine Learning Operations. Esta equipe será responsável por todos procedimentos relacionados a leitura e atualização de dados e modelos. Em algumas organizações, esta equipe também é chamada de equipe de *Data Engineering*.

As entregas de cada equipe são descritas em maiores detalhes logo abaixo.
As entregas de cada equipe são descritas em maiores detalhes logo abaixo.

Todas as entregas devem ser feitas via GitHub. Inclusive relatórios ou questionários. Estes devem ser escritos em [Markdown](https://www.markdownguide.org/).

## Compreensão do problema

Expand Down Expand Up @@ -50,12 +52,11 @@ A equipe da DASA irá disponibilizar o dataset para treinamento e validação em

A equipe do Insper (MLEng e MLOps) precisam entender como funciona e como implementar uma CNN.

* A equipe do Insper precisa executar pelo menos um dos dois tutoriais abaixo para entender como funciona uma CNN e como implementar uma em Python.
* A equipe do Insper precisa executar o tutorial abaixo para entender como funciona uma CNN e como implementar uma em Keras:

* https://www.tensorflow.org/tutorials/images/cnn
* https://pytorch.org/tutorials/beginner/blitz/cifar10_tutorial.html

O tutorial que foi executado precisa estar no repositório do projeto em uma pasta específica.
O tutorial executado precisa estar no repositório do projeto em uma pasta específica.

* A equipe do Insper precisa entregar um documento que respondendo as seguintes perguntas:

Expand Down Expand Up @@ -104,6 +105,10 @@ O tutorial que foi executado precisa estar no repositório do projeto em uma pas

* Os dados utilizados neste projeto não poderão ser armazenados no repositório do GitHub. As ferramentas para armazenamento e controle de versão dos dados deverão ser outras.

* Todos os relatórios precisam ser escritos em Markdown e armazenados no repositório do projeto, inclusive a apresentação final.

* Os scripts para pré-processamento dos dados, treinamento dos modelos e avaliação dos modelos precisam estar escritos em Python de preferência. Por favor, tentem utilizar o mínimo possível Jupyter Notebook para estas tarefas. O controle de versão dos scripts em Jupyter Notebook é muito difícil de ser feito. Talvez, o único momento onde será necessário usar Jupyter notebook é no pré-processamento dos dados e na análise exploratório. Mesmo assim, recomenda-se salvar um arquivo `.py` com a versão final.

## Gestão do projeto

* A equipe do Insper deve manter um kanban do projeto atualizado diariamente. A ferramenta de kanban deve ser a do GitHub Projects.
Expand Down
69 changes: 45 additions & 24 deletions rubrica.md
Original file line number Diff line number Diff line change
@@ -1,29 +1,50 @@
# Rubrica

A rubrica deste projeto é apresentada na tabela a seguir:
A rubrica deste projeto é apresentada nas tabelas a seguir:

| Grupo | Requisito | Data de entrega | Conceito |
|-------|-----------|-----------------|----------|
| Estrutura da Equipe | [Definição da estrutura da equipe](./requisitos.md#estrutura-da-equipe) | 18/11 | |
| Compreensão do problema | [Participação no curso da DASA](./requisitos.md#compreensão-do-problema) | 6/11 | |
| Compreensão do problema | [Entrega do documento de compreensão do problema](./requisitos.md#compreensão-do-problema) | | |
| Análise exploratória de dados | [Entrega do relatório de análise exploratória de dados](./requisitos.md#análise-exploratória-de-dados) | | |
| Pré-processamento e armazenamento dos dados | [Garantir que os dados estejam disponíveis e acessíveis para a equipe de MLEng](./requisitos.md#pré-processamento-e-armazenamento-dos-dados) | | |
| Pré-processamento e armazenamento dos dados | [Automatizar o pipeline de pré-processamento dos dados](./requisitos.md#pré-processamento-e-armazenamento-dos-dados) | | |
| Pré-processamento e armazenamento dos dados | [Definir um sistema de versionamento dos dados](./requisitos.md#pré-processamento-e-armazenamento-dos-dados) | | |
| Modelagem | [Entregar o tutorial executado no repositório do projeto](./requisitos.md#modelagem) | | |
| Modelagem | [Entregar o documento de compreensão da CNN](./requisitos.md#modelagem) | | |
| Modelagem | [Implementação de um pipeline para geração de um modelo baseline](./requisitos.md#modelagem) | | |
| Modelagem | [Implementação da CNN descrita no artigo de referência](./requisitos.md#modelagem) | | |
| Modelagem | [Implementação de um modelo de rede neural com outras características](./requisitos.md#modelagem) | | |
| Apresentação dos resultados | [Identificar as melhores métricas para avaliação dos modelos](./requisitos.md#avaliação-e-apresentação-dos-resultados) | | |
| Apresentação dos resultados | [Apresentar os resultados obtidos com os modelos desenvolvidos](./requisitos.md#avaliação-e-apresentação-dos-resultados) | | |
| Apresentação dos resultados | [Apresentar os modelos desenvolvidos e comparar os resultados obtidos com os resultados apresentados no artigo](./requisitos.md#avaliação-e-apresentação-dos-resultados) | | |
| Deploy | [Armazenar as versões dos modelos usando uma ferramenta específica para isto](./requisitos.md#deploy) | | |
| Deploy | [Implementar um site web que demonstra o modelo treinado](./requisitos.md#deploy) | | |
| Deploy | [Implementar uma rotina para análise em lote de imagens](./requisitos.md#deploy) | | |
| Deploy | [Implementar uma infra-estrutura de log para monitoramento do modelo](./requisitos.md#deploy) | | |
| Estrutura dos repositórios | [Cada equipe deve ter dois repositórios: um para o desenvolvimento do modelo e outro para o desenvolvimento das aplicações](./requisitos.md#estrutura-dos-repositórios) | | |
| Gestão de projetos | [Manter um kanban atualizado diariamente](./requisitos.md#gestão-de-projetos) | | |
| Gestão de projetos | [Commits no mínimo diários](./requisitos.md#gestão-de-projetos) | | |
| Gestão de projetos | [Commits organizados e claros](./requisitos.md#gestão-de-projetos) | | |
| Estrutura da Equipe | [Definição da estrutura da equipe](./requisitos.md#estrutura-da-equipe) | 18/11 | D |
| Compreensão do problema | [Entrega do documento de compreensão do problema em markdown no repositório do projeto](./requisitos.md#compreensão-do-problema) | 22/11 | D |
| Modelagem | [Entregar o tutorial executado no repositório do projeto](./requisitos.md#modelagem) | 22/11 | D |
| Modelagem | [Entregar o documento com perguntas sobre CNN em markdown no repositório do projeto](./requisitos.md#modelagem) | 22/11 | D |
| Análise exploratória de dados | [Entrega do relatório de análise exploratória de dados](./requisitos.md#análise-exploratória-de-dados) | 22/11 | D |
| Estrutura dos repositórios | [Cada equipe deve ter dois repositórios: um para o desenvolvimento do modelo e outro para o desenvolvimento das aplicações](./requisitos.md#estrutura-dos-repositórios) | 18/11 | D |

| Grupo | Requisito | Data de entrega | Conceito |
|-------|-----------|-----------------|----------|
| Pré-processamento e armazenamento dos dados | [Garantir que os dados estejam disponíveis e acessíveis para a equipe de MLEng](./requisitos.md#pré-processamento-e-armazenamento-dos-dados) | 22/11 | C |
| Pré-processamento e armazenamento dos dados | [Automatizar o pipeline de pré-processamento dos dados](./requisitos.md#pré-processamento-e-armazenamento-dos-dados) | 29/11 | B |
| Pré-processamento e armazenamento dos dados | [Definir um sistema de versionamento dos dados e modelos](./requisitos.md#pré-processamento-e-armazenamento-dos-dados) | 29/11 | A |

| Grupo | Requisito | Data de entrega | Conceito |
|-------|-----------|-----------------|----------|
| Modelagem | [Implementação de um pipeline para geração de um modelo baseline](./requisitos.md#modelagem) | 29/11 | C |
| Modelagem | [Implementação da CNN descrita no artigo de referência](./requisitos.md#modelagem) | 06/12 | B |
| Modelagem | [Implementação de um modelo de rede neural com outras características mas que tenham, no mínimo, um desempenho similar ao modelo descrito no artigo de referência.](./requisitos.md#modelagem) | 06/12 | A |

| Grupo | Requisito | Data de entrega | Conceito |
|-------|-----------|-----------------|----------|
| Apresentação dos resultados | [Identificar as melhores métricas para avaliação dos modelos](./requisitos.md#avaliação-e-apresentação-dos-resultados) | 22/11 | C |
| Apresentação dos resultados | [Definir um pipeline correto para avaliação dos modelos](./requisitos.md#avaliação-e-apresentação-dos-resultados) | 29/11 | C |
| Apresentação dos resultados | [Apresentar os resultados obtidos com os modelos desenvolvidos](./requisitos.md#avaliação-e-apresentação-dos-resultados) | 06/12 | B |
| Apresentação dos resultados | [Apresentar os modelos desenvolvidos e comparar os resultados obtidos com os resultados apresentados no artigo](./requisitos.md#avaliação-e-apresentação-dos-resultados) | 06/12 | A |
| Apresentação dos resultados | [Entregar um relatório técnico em markdown no repositório do projeto](./requisitos.md#avaliação-e-apresentação-dos-resultados) | 06/12 | A |

| Grupo | Requisito | Data de entrega | Conceito |
|-------|-----------|-----------------|----------|
| Deploy | [Armazenar as versões dos modelos usando uma ferramenta específica para isto](./requisitos.md#deploy) | | C |
| Deploy | [Implementar um site web que demonstra o modelo treinado](./requisitos.md#deploy) | | B |
| Deploy | [Implementar uma rotina para análise em lote de imagens](./requisitos.md#deploy) | | B |
| Deploy | [Implementar uma infra-estrutura de log para monitoramento do modelo](./requisitos.md#deploy) | | B |
| Deploy | [Deploy automático da aplicação ao atualizar o branch main](./requisitos.md#deploy) | | A |
| Deploy | [Rotinas de testes automatizados para o site web e para a rotina em lote](./requisitos.md#deploy) | | A |

| Grupo | Requisito | Data de entrega | Conceito |
|-------|-----------|-----------------|----------|
| Gestão de projetos | [Manter um kanban atualizado diariamente](./requisitos.md#gestão-de-projetos) | Diário | Equipe* |
| Compreensão do problema | [Participação no curso da DASA](./requisitos.md#compreensão-do-problema) | 06/11 | Individual* |
| Gestão de projetos | [Commits diários e relevantes por parte de todos os integrantes da equipe](./requisitos.md#gestão-de-projetos) | Diário | Individual* |
| Gestão de projetos | [Commits organizados e claros](./requisitos.md#gestão-de-projetos). Por favor, considerem este [documento](https://bit.ly/insper_commits) de recomendações. | Diário | Individual* |
| Organização dos repositórios | [Todos os códigos devem ser salvos em arquivos `.py` e todos os relatórios (incluindo apresentação) devem ser escritos em Markdown](./requisitos.md#entregáveis-e-estrutura-dos-repositórios) | 06/12 | Equipe* |

0 comments on commit fa48ea9

Please sign in to comment.