I have developed Sol-predict, an application distributed as an API service for the academic community, focusing on solute-solvent solubility prediction. Key features include
Predicting solubility for a given solute-solvent pair.
Enabling batch testing of a solute against ~1200 solvents, generating a comprehensive report.
This project leverages a Graph Neural Network (CIGIN) for its core predictions."
At the heart of Sol-predict is the Chemically Interpretable Graph Interaction Network (CIGIN), a type of Graph Neural Network. It processes solute and solvent molecular structures as graphs, passing messages between nodes (atoms) to learn interaction features. These features are then used to predict the solvation free energy (ΔGsolv), providing an interpretable interaction map
The Sol-predict backend is a robust MLOps pipeline. It utilizes MLflow for experiment tracking and model registry, ensuring reproducibility. The core API is built with FastAPI for high performance. Celery manages asynchronous batch prediction tasks, with Flower for monitoring. The entire application is containerized using Docker for easy deployment. The API is exposed through gateways like RapidAPI or Amazon API Gateway, with a Next.js/React frontend for user interaction.
The API is built using FastAPI, chosen for its speed, automatic data validation, and OpenAPI documentation generation. It exposes endpoints like /predict for single predictions and /predict_solubility/{task_id} for retrieving results of asynchronous batch jobs
To manage access, security, rate limiting, and potential monetization, the Sol-predict API is integrated with API Gateways like RapidAPI (shown) or AWS API Gateway. This provides a professional and scalable way to offer the prediction service to the academic community and beyond.
A user-friendly web interface, developed with React and Next.js, allows researchers to easily access Sol-predict. Users can input solute and solvent molecules via SMILES strings or by drawing them using an integrated Jmol-like molecular editor. Prediction results, including solubility values and detailed interaction data, are displayed clearly.
For computationally intensive tasks like testing a solute against hundreds of solvents, Celery is used as a distributed task queue. This allows for asynchronous processing without blocking the main API. Flower provides a real-time monitoring dashboard to track the status of Celery workers and tasks, ensuring reliability and efficient resource utilization for batch predictions.
Talk is a two-way communication app that allows the deafblind to send and receive messages with friends, family or anybody else through their smartphones. It translates Morse Code input into text or voice and vice versa.
It consists of two interfaces :
Chatting interface for blind-deaf person
Chatting interface for a normal person
A deaf blind person can send message by tapping the screen of the app
Short tap is dot ( . )
Long tap is dash ( - )
The Morse code written by blind-deaf person is converted to plain english while sending the message to a normal person. Incoming message from a Normal person to a deaf-blind person is converted into vibrations of dot & dash for blind and deaf person.