Machine learning project for the classification of human extrachromosomal circular DNA (eccDNA) sequences using features derived exclusively from the nucleotide sequence.
The project compares eccDNA sequences with matched linear genomic regions and investigates whether sequence-derived features can provide a discriminative signal.
Two datasets are considered:
- Short sequences: 50–2000 bp
- Long sequences: 1000–5000 bp
The analysis includes classical machine learning models, neural networks, feature engineering, statistical analysis and model interpretability.
The initial feature set includes:
- Shannon Entropy
- GC Content
- GC Skew
- Homopolymer Density
- Circular Propensity
Additional experiments include:
- Mutual Information (MI)
- Resolved Mutual Information (rMI)
- Sliding-window analysis
- Local anchor extraction
- Exact and Soft Circular Propensity
- SHAP-based model interpretation
The following classifiers were evaluated:
- Logistic Regression
- Random Forest
- AdaBoost
- XGBoost
- Multi-Layer Perceptron
- K-Nearest Neighbors
- Support Vector Machine
- PyTorch neural network
The main evaluation metric is ROC-AUC.
The Short dataset shows a clear discriminative signal, mainly driven by GC Content, with ROC-AUC values around 0.86.
The initial features perform close to random classification on the Long dataset. However, the Soft Circular Propensity improves the representation of long sequences.
The best global configuration on the Long dataset reaches:
- ROC-AUC: 0.7361
- Model: XGBoost
- Circular Propensity range: k = 4–12
- Feature set: 30 features
The best local anchor-based experiment reaches a ROC-AUC of 0.6619, suggesting that the strongest signal is captured at the global sequence level.
The numbered Python scripts follow the chronological development of the experiments, from feature extraction and model benchmarking to anchor analysis and extended feature representations.
The repository also includes the notebook used for dataset preparation.
The datasets are derived from human eccDNA annotations and genomic sequences extracted from the hg19 reference genome.
Large datasets, generated outputs, trained models and intermediate files are not included in the repository.
This repository contains the code developed for an academic bioinformatics project.
The results should be interpreted as an exploratory analysis of sequence-derived signals associated with eccDNA classification.