Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

eccDNA Sequence Classification

Machine learning project for the classification of human extrachromosomal circular DNA (eccDNA) sequences using features derived exclusively from the nucleotide sequence.

Overview

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.

Features

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

Models

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.

Main results

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.

Repository structure

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.

Data

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.

Notes

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.

About

Analisi e classificazione di sequenze eccDNA mediante machine learning, feature biofisiche, MI/rMI e confronto tra dataset Short e Long.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages