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 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.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.