G4mer

G4mer — это трансформерная основа модель RNA, обученная для идентификации РНК G-квадруплексов (rG4) по последовательностям, дообученная на mRNAbert (Biociphers/mRNAbert).

Отказ от ответственности

Это официальная реализация модели G4mer, описанная в рукописи:

Zhuang, Farica, et al. G4mer: an RNA language model for transcriptome-wide identification of G-quadruplexes and disease variants from population-scale genetic data. bioRxiv (2024).

См. наш репозиторий Bitbucket для кода, данных и руководств.

Детали модели

G4mer — трансформерная модель, обученная на транскриптомных последовательностях RNA для предсказания:

  • Бинарная классификация: образует ли регион последовательности длиной 70 нт структуру rG4

Все модели используют перекрывающуюся токенизацию 6-меров и обучаются с нуля на человеческом транскриптоме.

Варианты

Model Task Size
Biociphers/g4mer бинарная классификация rG4 ~46M
Biociphers/g4mer-subtype классификация подтипов rG4 ~46M
Biociphers/g4mer-regression сила rG4 (регрессия) ~46M

Использование

Бинарное предсказание rG4

from transformers import AutoTokenizer, AutoModelForSequenceClassification
import torch

tokenizer = AutoTokenizer.from_pretrained("biociphers/g4mer")
model = AutoModelForSequenceClassification.from_pretrained("biociphers/g4mer")

sequence = "GGGAGGGCGCGTGTGGTGAGAGGAGGGAGGGAAGGAAGGCGGAGGAAGGA"  # max length: 70nt window

def to_kmers(seq, k=6):
    return ' '.join([seq[i:i+k] for i in range(len(seq) - k + 1)])

sequence = to_kmers(sequence, k=6)  # Convert to 6-mers
inputs = tokenizer(sequence, return_tensors="pt")
outputs = model(**inputs)
logits = outputs.logits

rG4_probability = torch.softmax(logits, dim=1)[:, 1].item()
print(rG4_probability)

G4mer обучался на максимальной длине 70 нт на последовательность. Для последовательностей длиннее 70 нт рекомендуем сканировать входную последовательность скользящим окном размера 70 нт и брать максимальный балл rG4 по всем окнам.

from transformers import AutoTokenizer, AutoModelForSequenceClassification
import torch

# Load model and tokenizer
tokenizer = AutoTokenizer.from_pretrained("Biociphers/g4mer")
model = AutoModelForSequenceClassification.from_pretrained("Biociphers/g4mer")
model.eval()

# Define k-mer function
def to_kmers(seq, k=6):
    return ' '.join([seq[i:i+k] for i in range(len(seq) - k + 1)])

# Define a long sequence (must contain only A/C/G/T)
sequence = "GGGAGGGCGCGTGTGGTGAGAGGAGGGAGGGAAGGAAGGCGGAGGAAGGA" * 2  # ~100nt

# Slide 70nt window with stride 1
window_size = 70
stride = 1
windows = [sequence[i:i+window_size] for i in range(0, len(sequence) - window_size + 1, stride)]

# Score each window using G4mer
scores = []
for w in windows:
    kmer_seq = to_kmers(w, k=6)
    tokens = tokenizer(kmer_seq, return_tensors="pt")
    with torch.no_grad():
        output = model(**tokens)
        prob = torch.nn.functional.softmax(output.logits, dim=-1)
        scores.append(prob[0][1].item())  # class 1 = rG4-forming

# Final rG4 score for the long sequence
max_score = max(scores)
print(f"Max rG4 score across windows: {max_score:.3f}")

Веб-инструмент

Вы можете интерактивно изучать предсказания G4mer через наш веб-инструмент:

G4mer Web Tool

Особенности:

  • Прогноз по РНК-последовательности запускает G4mer на GPU для вычисления вероятности образования rG4
  • Транскриптомное прогнозирование rG4 и подтипов
  • Аннотация эффекта вариантов с использованием gnomAD SNVs
  • Поиск и фильтрация по гену, транскрипту, региону (5′UTR, CDS, 3′UTR) и контексту последовательности

Установка не требуется — просто посетите и начните исследовать.

Цитирование - MLA

Zhuang, Farica, et al. "G4mer: An RNA language model for transcriptome-wide identification of G-quadruplexes and disease variants from population-scale genetic data." Nature Communications 16.1 (2025): 10221.

Контакт

Для вопросов, отзывов или обсуждений G4mer, пожалуйста, публикуйте в Google Group Biociphers.

Downloads last month
4
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support