Análise de dados

Dados e modelação

Python · Anonimização de dados · Modelação de redes · Estatística

Dois projetos em que o trabalho foi a análise em si: um sobre os registos administrativos de uma escola, outro sobre uma parte do modelo do meu doutoramento, reconstruída de raiz. Ambos estão no GitHub, código incluído.

2026 · Python, pandas, Streamlit

Anonimização e análise de registos escolares

Construído a partir de registos administrativos com que trabalhei como funcionário de uma escola pública de Lisboa. Os dados de origem contêm informação pessoal de menores, por isso a primeira coisa que escrevi foi o pipeline de anonimização: documentos de identificação, NIF, NISS e contactos de emergência removidos por completo, nomes substituídos por pseudónimos sequenciais, datas de nascimento reduzidas a idade, notas de saúde e alimentação em texto livre convertidas em categorias amplas, e qualquer grupo pequeno agrupado num maior, para ninguém poder ser identificado indiretamente. Só o resultado anonimizado é versionado.

A análise e um dashboard interativo foram entregues à direção da escola. Os resultados não são publicados aqui: os dados pertencem à escola.

Pipeline de anonimização, análise exploratória, dashboard interativo e apresentação para a direção da escola. pandas, matplotlib, seaborn, Plotly, Streamlit, python-pptx.

2026 · Python, NumPy, NetworkX

Reconstrução do modelo de células T em Python

Entre 2015 e 2019 perguntei o que faz de facto o microRNA miR-34c-5p dentro de uma célula T CD4+ humana ativada. A resposta foi um modelo lógico de rede, construído em GINsim, a prever o que deveria acontecer a jusante e a orientar o trabalho de bancada. Depois a tese inacabada ficou seis anos num disco rígido.

Reconstruí uma parte dele em Python: um parser para a notação da própria tese, um avaliador multivalor e um simulador assíncrono com 400 trajetórias por condição. Os 76 nós e as 89 fórmulas lógicas estão transcritos tal e qual da Tabela 5 do rascunho da tese, não reconstruídos de memória.

A rede reguladora de 76 nós recuperada da tabela de regras da tese
A rede digitalizada: 76 nós, com cor por função. Os dois nós de miRNA ficam junto ao núcleo de fatores de transcrição.
Gráfico de barras da ativação dos reguladores-mestre de subtipo Th em quatro condições de miRNA
Proporção de simulações que terminam com cada regulador-mestre Th ativo, em quatro condições de miRNA.

O miR-155-5p revela-se o motor dominante: sozinho, suprime os reguladores Th2, Tfh, Th22 e Th9 e empurra o Th1 e o iTreg para cima. O miR-34c-5p sozinho quase não mexe na linha de base — mas juntos suprimem esse ramo mais do que o miR-155-5p sozinho. O efeito é cooperativo, não aditivo.

É uma história próxima, mas não idêntica, à discussão de 2019, que apontava para um desvio Th17/iTreg. Prefiro reportar a divergência a afinar o modelo até concordar: o método de simulação é diferente, e duas fórmulas da tabela original são ambíguas tal como publicadas e foram avaliadas exatamente como estão escritas. Ambas as causas estão documentadas no repositório.

Código, tabela de regras e notas do modelo no GitHub →