Repository per l’inferenza e l’analisi delle mutational signatures (SBS) su dati genomici, con workflow che comprende simulazioni, esposizioni, regressione/classificazione e valutazioni.
logs/— directory per i log delle esecuzioni e tracking dei run.results/— output del workflow: metriche, grafici, file di esposizione e classificazione.scripts/— script principali che avviano gli step del workflow.simulations/— dati simulati con ground‐truth delle firme (binaria o continua).utils/— funzioni ausiliarie: parsing, formattazione, metriche, helper vari.README.md— questo file.presentation.md— presentazione associata al progetto.run_job.sh,run_job.slurm,run_job_exposure.slurm— script di esecuzione batch/cluster (es. Slurm).
-
Python ≥ 3.10
-
Librerie principali (esempi):
numpy pandas scikit-learn matplotlib seaborn scipy -
Ambiente cluster / Slurm se si eseguono i job batch.
-
Dati genomici di mutazione o simulazioni pronte.
git clone https://github.com/MassimoZarantonello2/SignatureInference.git
cd SignatureInference
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt(Se manca requirements.txt, crealo con le librerie sopra.)
Esegui gli script in simulations/ per generare dati con ground‐truth o caricare dataset reali.
Esempio per job singolo:
./run_job.shOppure via Slurm:
sbatch run_job.slurmPer esposizioni:
sbatch run_job_exposure.slurmI risultati (classificazioni, regressioni, matrici performance, grafici) si trovano in results/.
Puoi poi usarli con gli script in utils/ per analisi aggiuntive o grafici.
- Generazione/simulazione matrici delle mutazioni.
- Sampling o elaborazione del dataset (down‐sampling, etc.).
- Predizione della presenza/assenza delle firme (multi‐label classification).
- Stima dell’esposizione alle firme (regressione continua).
- Valutazione: metriche, test statistici, grafici comparativi.
- Valutazione dell’impatto del sampling sulla previsione della presenza di firme.
- Confronto tra metodi di regressione per l’esposizione.
- Grafici: heatmap di similarità, violini di performance, curve di apprendimento.
- Report delle metriche finali e analisi per ipotesi.
- Fork del progetto.
- Creare o modificare file/branch.
- Aprire Pull Request.
- Discutere issue prima di cambi sostanziali.