This project focuses on classifying DNA, RNA, and protein sequences using a combination of machine learning and deep learning techniques. It includes a backend server, a Vue.js-based frontend, and a Jupyter Notebook for model training and testing. For a detailed walkthrough, watch this introduction video on YouTube.
project-directory/
├── frontend/ # Frontend application built with Vue.js
├── backend/ # Backend server implemented in Python
├── models.ipynb # Jupyter Notebook for model training and evaluation
-
Navigate to the
backend
folder:cd backend
-
Install the required dependencies:
pip install -r requirements.txt
-
Run the backend server using Python:
python app.py
The backend will start listening for requests at
http://127.0.0.1:5001
.
-
Navigate to the
frontend
folder:cd frontend
-
Ensure you are using Node.js version 16 (using nvm):
nvm use 16
-
Install dependencies:
npm install
-
Start the development server:
npm run dev
The frontend will run locally, typically accessible at
http://localhost:8080
.The frontend is styled using the open-source template smpe-admin-web for an enhanced user experience.
Once both the backend and frontend services are running:
- Open the frontend application in your web browser.
- Click Function -> Classification
- Input input the structureId, chainId, sequence, residueCount of the macromolecule.
- Choose the model you want.
- Click the button Classify to get the classification result.
The models.ipynb
file contains the full process of training, optimizing, and evaluating machine learning and deep learning models for sequence classification. It includes:
- Data preprocessing steps.
- Model selection and hyperparameter tuning.
- Performance evaluation with test results.
To view and run the notebook:
- Open the file in Jupyter Notebook or any compatible IDE (e.g., JupyterLab, VSCode).
- Execute the cells to reproduce the training and testing process.
- Python 3.x
- Flask
- scikit-learn
- PyTorch
- Node.js (version 16)
- Vue.js
- Dependencies listed in
package.json
- Ensure that the backend server is running before using the frontend to ensure proper functionality.
- Model training is computationally intensive; it is recommended to use a machine with GPU acceleration for faster training times.
This project is licensed under the MIT License. See the LICENSE
file for details.
Special thanks to the creators of the smpe-admin-web template for their excellent frontend design.