Projects

Master's Thesis: RNA-KG Analysis

Python, Machine Learning, Data Visualization, Data Analysis, Big Graphs

The objective of this thesis was to apply embedding methods and prediction models to RNA-KG to exploit the information available to discover new connections between the available bio-entities for drug developement or drug repourposing. The project was developed in Python and used the GRAPE library for the machine learning models. The data was visualized using Matplotlib. The project was developed in collaboration with the Computational Biology and Bioinformatics Lab of the University of Milan. The first results are published in the following paper: RNA Knowledge Graph analysis via graph embedding methods.

This thesis evolved into a Machine Learning researcher position in the laboratory, the results obtained are published in the following paper: RNA knowledge-graph analysis through homogeneous embedding methods.

Image showing a 2D plot of RNA-KG

Trenode.js

Node.js, Express, EJS, Web Development, Full Stack

Trenode.js is a web-app to check italian train schedule and status. The back-end is build with Node.js and Express.js and the front-end is build with Bootstrap. It was my first Node.js project but I updated it over the years. The current version shows the timetable for a specific station and allows you to receive push notifications when there are updates about the selected train like the platform or the delay.

The code is available on GitHub.

Image showing the home page of Trenode.js

Advent of Code

Programming Puzzle, Rust, Problem Solving

I enjoy taking part in the yearly Advent of Code coding challenge, a series of programming puzzles of increasing difficulty that are unlocked each day in December like an advent calendar. I did 2020, 2021, 2022 (not finished), 2023 and 2024 in Rust. I joined the Unimi Advent Of Code leaderboard in 2021 and placed second.

Image showing the Advent of Code website

Fuel.fratorgano.me

Javascript, Plotly.js, Data Visualization, Data Gathering

Web page that shows the regional and highway fuel prices in Italy. The data is gathered from the Italian government website and is updated every day. The data is then processed and shown in a plotly.js graph.

Image showing a screenshot of fuel.fratorgano.me

Italian Covid Graphs

Data Visualization, Data wrangling, Python

Italian Covid Graphs is a combination a python script and a webpage that uses the official italian covid and vaccine data, it’s a project I made to help me understand the data and to make some easy to understand graphs. The plots were generated with matplotlib and were published daily until 17/02/2023 when the goverment stopped posting daily data.

Image showing a plot of the italian covid data

Chess.fratorgano.me

Javascript, Node.js, WebSockets, WebAssembly, Rust

Small Node.js and Socket.io project that allows you play chess with your friends online or against bots. I created this project to learn how to use WebSockets for my Bachelor’s thesis. Various agents were deployed to play against the user. Each algorithm was initially written in JavaScript but was later rewritten from scratch in Rust and compiled to WebAssembly to improve performance and explore new technologies.

The code is available on GitHub.

Image showing a game of chess taking place on chess.fratorgano.me

Bachelor's Thesis: Uno.fratorgano.me

Javascript, Node.js, AI, Phaser

This was the project my bachelor thesys was built on, I worked in collaboration with the AIS Lab (Applied Intelligent Systems) at Unimi to build an online game of the UNO card game that allowed to play both against other player and against an artificial opponent. The development of the agents that play against a user followed a different path than usual, since the game we chose was a mainly for-fun game we chose to develop a more fun-oriented set of opponents and analyze their performance instead of the usual let’s make the strongest opponent possible.

The code is available on GitHub.

Image showing a game of UNO taking place against an AI on uno.fratorgano.me