/ Модель

Характеристики

Контекст
512 токенов
Параметры
116 млн
Лицензия
MIT
Архитектура
bert · dense
Библиотека
transformers
Опубликована
29 июн 2026

DNABERT-Promoter-Classifier

Заполнение пропусковТекст → текст

Дообученная DNABERT-модель определяет, является ли последовательность ДНК промоторным участком.

18скачиваний за 30 дней0лайковвеса обновлены30 июн 2026

Бенчмарки

Как модель справилась с задачами пользователей ailist и что о ней публикуют открытые лидерборды

Публичные оценки

Из открытых лидербордов. Сравнивайте результаты одного теста при одинаковых условиях — отсутствие оценки не значит, что модель хуже.

В подключённых источниках результатов для этой модели пока нет.

Что умеет модель

Описание составлено по карточке модели и метаданным Hugging Face

DNABERT Promoter Classifier — дообученная Rahul Kumar Singh модель DNABERT для бинарной классификации последовательностей ДНК на промоторы и непромоторные участки. DNABERT рассматривает ДНК как последовательность токенов: перед токенизацией исходную последовательность необходимо преобразовать в перекрывающиеся 6-меры. Модель основана на архитектуре BERT и содержит 116,4 млн параметров; максимальная длина контекста — 512 токенов.

Основной сценарий применения — поиск промоторных участков для аннотации генома и исследований регуляции генов. В README сообщается об accuracy 90,8% и ROC-AUC 0,958 на отложенном тестовом наборе; эти результаты сами по себе не подтверждают переносимость на другие наборы данных или виды организмов. Модель не предназначена для клинической диагностики, медицинских решений, прогнозирования заболеваний или интерпретации вариантов. Распространяется по лицензии MIT.

Сценарии применения

  • поиск промоторных участков в последовательностях ДНК
  • классификация геномных участков на промоторы и непромоторы
  • поддержка аннотации генома
  • исследование регуляции транскрипции
  • учебные проекты по биоинформатике

Ограничения

Для инференса необходимо преобразовать исходную последовательность ДНК в перекрывающиеся 6-меры. Модель предназначена для исследований и обучения и не подходит для клинической диагностики, медицинских решений, прогнозирования заболеваний или интерпретации вариантов.

Карточка модели

README от автора на Hugging Face, как он его опубликовал

Открыть на Hugging Face

🧬 DNABERT Promoter Classifier

A fine-tuned DNABERT model for binary promoter sequence classification. Given a DNA sequence, the model predicts whether it belongs to a Promoter or Non-Promoter region.

Unlike conventional NLP models, DNABERT treats DNA as a language. During preprocessing, each DNA sequence is converted into overlapping 6-mers, enabling the Transformer to learn biologically meaningful sequence patterns.

This project demonstrates the application of Transformer-based deep learning for computational genomics and serves as part of my Bioinformatics and Machine Learning portfolio.


🚀 Overview

Promoters are regulatory DNA elements responsible for initiating gene transcription. Accurate promoter identification plays a critical role in:

  • Genome annotation
  • Gene regulation studies
  • Functional genomics
  • Bioinformatics research

This model fine-tunes DNABERT, a Transformer model pre-trained on genomic sequences represented as 6-mers.

PropertyValue
Base ModelDNABERT (DNA-BERT-6)
TaskBinary DNA Sequence Classification
FrameworkHugging Face Transformers
BackendPyTorch
PrecisionFP16 Mixed Precision
Training PlatformGoogle Colab GPU

🧬 Sequence Preprocessing

Before tokenization, every DNA sequence is converted into overlapping 6-mers, matching the representation used during DNABERT pretraining.

Example:

DNA sequence

ATGCGTACGA

6-mer representation

ATGCGT TGCGTA GCGTAC CGTACG GTACGA

The generated 6-mer sentence is then tokenized using the DNABERT tokenizer.

Important: The same preprocessing must be applied during inference. Raw DNA sequences should always be converted to 6-mers before being passed to the model.


👨‍💻 Author

Rahul Kumar Singh

M.Sc. Bioinformatics
Deen Dayal Upadhyaya Gorakhpur University


🎯 Classification Task

LabelClass
0Non-Promoter
1Promoter

📊 Model Performance

The model was evaluated on the held-out test dataset.

MetricScore
Accuracy90.8%
Weighted Precision0.92
Weighted Recall0.91
Weighted F1-score0.91
ROC-AUC0.958
Average Precision (PR-AUC)0.973

📈 Classification Report

ClassPrecisionRecallF1-score
Non-Promoter0.850.980.91
Promoter0.980.850.91

Overall Test Accuracy: 90.8%


📊 Confusion Matrix


📈 ROC Curve

ROC-AUC = 0.958


📉 Precision–Recall Curve

Average Precision = 0.973


⚙️ Training Configuration

ParameterValue
Learning Rate2e-5
Batch Size8
Epochs5
Weight Decay0.01
OptimizerAdamW
Mixed PrecisionFP16
Evaluation StrategyEvery Epoch
k-mer Size6
Maximum Sequence Length512 Tokens

💻 Example Usage

from transformers import AutoTokenizer
from transformers import AutoModelForSequenceClassification
import torch

def generate_kmers(sequence, k=6):
    return " ".join(
        sequence[i:i+k]
        for i in range(len(sequence)-k+1)
    )

model_name = "rahuls472/DNABERT-Promoter-Classifier"

tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForSequenceClassification.from_pretrained(model_name)

sequence = "ATCGGCTAGCTAGCTAGCTAGCTA"

sequence = generate_kmers(sequence)

inputs = tokenizer(
    sequence,
    return_tensors="pt",
    truncation=True,
    padding="max_length",
    max_length=512
)

with torch.no_grad():
    outputs = model(**inputs)

prediction = torch.argmax(outputs.logits, dim=1).item()

print("Promoter" if prediction == 1 else "Non-Promoter")

🔬 Training Pipeline

DNA Sequence
      │
      ▼
Generate overlapping 6-mers
      │
      ▼
DNABERT Tokenizer
      │
      ▼
DNABERT Encoder
      │
      ▼
Sequence Classification Head
      │
      ▼
Promoter / Non-Promoter

📚 Applications

  • Promoter prediction
  • DNA sequence classification
  • Genome annotation
  • Functional genomics
  • Computational biology research
  • Educational projects

⚠️ Limitations

This model is intended for research and educational purposes only.

It is not intended for:

  • Clinical diagnosis
  • Medical decision making
  • Disease prediction
  • Variant interpretation

🚀 Future Work

  • Multi-species promoter prediction
  • Cross-validation experiments
  • Hyperparameter optimization
  • Multi-class genomic element classification
  • Explainability using attention visualization
  • Integration into genomics analysis pipelines

🙏 Acknowledgements

This project was developed using:

  • Hugging Face Transformers
  • PyTorch
  • Google Colab
  • DNABERT
  • Genomic Benchmarks Dataset

Special thanks to the open-source bioinformatics and machine learning communities for providing the datasets, pretrained models, and tools that made this work possible.

Как запустить

На своей GPU в ailist. Цена — по текущим предложениям провайдеров

GPU в ailist

Универсальный рантайм · transformers · fill-mask

Можно запустить

Подбираем GPU…

Класс архитектуры
BertForSequenceClassification
Ревизия весов
6a30121

0 моделей