DNA Sequence Classification
Classifying coding and non-coding regions using CNN
Project Overview
The DNA Sequence Classification project focuses on training a Convolutional Neural Network (CNN) to distinguish between coding and non-coding regions in DNA sequences. Using datasets from Ensembl and NCBI, the project leverages PyTorch, BioPython, and various Python libraries for data processing, model training, and visualization.
Objectives
- Classify DNA sequences into coding and non-coding regions.
- Build and train a CNN using PyTorch.
- Visualize data distributions and model performance.
Tools & Libraries
- PyTorch – Deep learning framework
- BioPython – DNA sequence processing
- Pandas & NumPy – Data manipulation
- Matplotlib – Data visualization
Data Sources
Detailed Process
- Data Preprocessing
- Extracted DNA sequences from FASTA and GenBank files.
- Applied one-hot encoding and K-mer frequency encoding.
- Model Training
- Designed a 1D CNN for sequence classification.
- Used cross-entropy loss and optimized using Adam.
- Evaluation & Results
- Measured accuracy, precision, recall, and F1-score.
- Visualized confusion matrix and ROC curve.
Key Insights
- The CNN achieved 92% accuracy in distinguishing coding regions.
- Data augmentation techniques improved generalization.
For the full code and documentation, visit the GitHub Repository.
This enhanced project page includes a detailed overview, key insights, and direct links, presenting your work effectively.