Downloads · 30 days
10
37% of all-time downloads
aimedica/g4mer
g4mer is a text classification model from aimedica. Use it when you need a label for a piece of text. It is set up for transformers. The card lists the license as other.
G4mer — это трансформерная основа модель RNA, обученная для идентификации РНК G-квадруплексов (rG4) по последовательностям, дообученная на mRNAbert (Biociphers/mRNAbert).
Downloads · 30 days
10
37% of all-time downloads
All-time downloads
27
Public
Repo size
187 MB
Likes
0
Public
Click a slice to open those files.
.bin187 MB · 100%
From the Hugging Face model README
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 для предсказания:
Все модели используют перекрывающуюся токенизацию 6-меров и обучаются с нуля на человеческом транскриптоме.
| Model | Task | Size |
|---|---|---|
Biociphers/g4mer | бинарная классификация rG4 | ~46M |
Biociphers/g4mer-subtype | классификация подтипов rG4 | ~46M |
Biociphers/g4mer-regression | сила rG4 (регрессия) | ~46M |
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 на GPU для вычисления вероятности образования rG4Установка не требуется — просто посетите и начните исследовать.
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.