Transformers documentation

ESMFold2

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v5.22.2).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Bu model, 2026-08-19 tarihinde Hugging Face Transformers'a katkıda bulunulmuştur.

ESMFold2

Genel Bakış

ESMFold2, tüm atomik bir protein yapısı tahmin modelidir. ESMC protein dil modelini omurgası olarak kullanarak, amino asit dizisinden doğrudan 3B koordinatları ve kalıntı başına güven değerlerini (pLDDT, PAE, PDE) tahmin eder. Mimari, 3B döner konum gömme (embedding) içeren kayan pencere atom kodlayıcıyı, yinelemeli olarak uygulanan çiftli katlanma gövdesini, difüzyon tabanlı yapı başlığını ve güven başlığını bir araya getirir.

Model kontrol noktası, Hugging Face Hub'da biohub/ESMFold2 adresinde mevcuttur.

Kullanım örneği

import torch

from transformers import EsmFold2Model

# The ESMC backbone is bundled in the checkpoint and loaded with the model.
# bf16 is the recommended inference precision.
model = EsmFold2Model.from_pretrained("biohub/ESMFold2", dtype=torch.bfloat16, device_map="auto")

pdb_string = model.infer_protein_as_pdb("MKTAYIAKQRQISFVKSHFSRQLEERLGLIEVQ")
print(pdb_string)

infer_protein, PDB dizesi yerine ham çıktıları (atom koordinatları, distogram logitleri ve güven metrikleri) EsmFold2Output olarak döndürür. Aynı diziyi birden fazla kez çalıştırırsanız, tahminlerde küçük farklılıklar görebilirsiniz. Tam olarak tekrarlanabilir yapılar istiyorsanız manuel bir tohum (seed) ayarlayın.

ESMFold2, her katlanma için config.structure_head.num_diffusion_samples yapı çizer. infer_protein_as_pdb, en yüksek sıralı olanı (en yüksek pTM) oluşturur; bunun yerine belirli bir örnek seçmek için sample_idx parametresini iletin. PDB dosyası, plddt çıktısıyla aynı 0-1 ölçeğinde, kalıntı başına pLDDT değerlerini b-factor sütununda taşır.

forward ve fold

Yapı tahmini iki bölümden oluşur. EsmFold2Model.forward ilk bölümdür: featuralandırılmış girdiler üzerinde katlama gövdesini çalıştırır ve rafine edilmiş çift temsilini distogram ile birlikte EsmFold2TrunkOutput olarak döndürür. 3B koordinat üretmez — ESMFold2 bunları iteratif gürültü azaltma yoluyla elde eder ve bu örneklem döngüsü (gürültü zamanlaması, Kabsch hizalama ve ODE/SDE güncellemesi) güven başlığı çağrısıyla birlikte EsmFold2FoldingMixin içinde yer alır:

YöntemBunun için kullanın
infer_protein_as_pdb(sequence)amino asit dizisinden doğrudan alınmış bir PDB dizesi
infer_protein(sequence)ham EsmFold2Output
fold(**features)önceden özelliklendirilmiş girdiler (infer_protein'in çağırdığı)
forward(**features)yalnızca gövde — bir dağıtım ve çift temsili, örneklem yok

Gerçek bir yapı için fold veya infer_protein çağırın. Sadece distograma gerekiyorsa veya difüzyon örnekleme işlemini kendiniz yönetmek istiyorsanız forward kullanın: fold bir kez forward çağırır ve ardından çıktısını, kendi forward metodu tek bir gürültü azaltma adımını temsil eden EsmFold2DiffusionModule bileşenine iletir.

Füzyonlu çekirdek ile daha hızlı çıkarım

Katlanır bagajın baskın maliyeti, üçgen çarpım güncellemesidir. from_pretrained() fonksiyonuna use_kernels=True parametresini geçmek, bu işlemi Hub üzerinden kernels kütüphanesi aracılığıyla yüklenen birleşik bir Triton çekirdeğiyle değiştirir ve tahmini değiştirmez. Bu özellik yalnızca çıkarım (inference) için ve yalnızca CUDA için geçerlidir; CPU üzerinde veya çekirdek kurulu değilse model, şeffaf bir şekilde saf PyTorch uygulamasına geri döner. Çekirdekleştirme (kernelization) gerçekleştiğinde modelin bir CUDA cihazında olduğundan emin olun (ör. device_map ile).

import torch

from transformers import EsmFold2Model

model = EsmFold2Model.from_pretrained(
    "biohub/ESMFold2", dtype=torch.bfloat16, device_map="cuda", use_kernels=True
)

pdb_string = model.infer_protein_as_pdb("MKTAYIAKQRQISFVKSHFSRQLEERLGLIEVQ")

EsmFold2Config

sınıf transformers.EsmFold2Config

< >

( transformers_version: str | None = Nonearchitectures: list[str] | None = Noneoutput_hidden_states: bool | None = Falsereturn_dict: bool | None = Truedtype: str | torch.dtype | None = Nonechunk_size_feed_forward: int = 0is_encoder_decoder: bool = Falseid2label: dict[int, str] | dict[str, str] | None = Nonelabel2id: dict[str, int] | dict[str, str] | None = Noneproblem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = Nonehidden_size: int | None = 384pairwise_hidden_size: int | None = 256single_inputs_size: int | None = 451pair_transition_intermediate_size: int | None = 1024sliding_window: int | None = 128chunk_size: int | None = 64num_relative_residx_bins: int | None = 32num_relative_chain_bins: int | None = 2num_loops: int | None = 10num_res_types: int | None = 33max_atomic_number: int | None = 128char_vocab_size: int | None = 64max_chars: int | None = 4max_atoms_per_token: int | None = 23atom_feature_dim: int | None = Nonefolding_trunk_num_hidden_layers: int | None = 24parcae_num_coda_layers: int | None = 2atom_encoder: dict | transformers.models.esmfold2.configuration_esmfold2.EsmFold2AtomEncoderConfig | None = Nonestructure_head: dict | transformers.models.esmfold2.configuration_esmfold2.EsmFold2StructureHeadConfig | None = Noneconfidence_head: dict | transformers.models.esmfold2.configuration_esmfold2.EsmFold2ConfidenceHeadConfig | None = Nonemsa_encoder: dict | transformers.models.esmfold2.configuration_esmfold2.EsmFold2MsaEncoderConfig | None = Nonelm_encoder: dict | transformers.models.esmfold2.configuration_esmfold2.EsmFold2LmEncoderConfig | None = Noneesmc_config: dict | transformers.configuration_utils.PreTrainedConfig | None = None )

Parametreler

  • hidden_size (int, isteğe bağlı, varsayılan 384) — Tekil temsil genişliği.
  • pairwise_hidden_size (int, isteğe bağlı, varsayılan 256) — Çift temsil genişliği.
  • single_inputs_size (int, isteğe bağlı, varsayılan 451) — Gövdeye ve difüzyon koşullandırmasına beslenen birleştirilmiş tek giriş özelliklerinin genişliği: atom_encoder.output_dim artı iki rezidü tipi tek-sıcak kodu ve profil skaleri.
  • pair_transition_intermediate_size (int, isteğe bağlı, varsayılan 1024) — Çift akış geçişlerinin SwiGLU genişliği.
  • sliding_window (int, isteğe bağlı, varsayılan 128) — Atom yığını dikkati için kayan pencere boyutu (token-indeks mesafesi), yarıçap yerine toplam pencere genişliği olarak.
  • chunk_size (int, isteğe bağlı, varsayılan 64) — Bellek yoğun çift-/MSA-akışı işlemleri için parça boyutu. None parçalamayı devre dışı bırakır.
  • num_relative_residx_bins (int, isteğe bağlı, varsayılan 32) — Göreceli konum kodlamasındaki göreceli rezidü indeks kutucuklarının sayısı.
  • num_relative_chain_bins (int, isteğe bağlı, varsayılan 2) — Göreceli konum kodlamasındaki göreceli zincir-indeksi sınıflarının sayısı.
  • num_loops (int, isteğe bağlı, varsayılan 10) — Gövde iyileştirme döngülerinin sayısı.
  • num_res_types (int, isteğe bağlı, varsayılan 33) — Kalıntı türlerinin sayısı.
  • max_atomic_number (int, isteğe bağlı, varsayılan 128) — Atom özelliklerinde birim tek (one-hot) öğe boyutu.
  • char_vocab_size (int, isteğe bağlı, varsayılan 64) — Kodlanmış atom adları için karakter sözlüğü boyutu.
  • max_chars (int, isteğe bağlı, varsayılan 4) — Kodlanmış atom başına karakter sayısı.
  • max_atoms_per_token (int, isteğe bağlı, varsayılan 23) — Token başına maksimum atom sayısı.
  • atom_feature_dim (int, isteğe bağlı) — Atom özellik genişliği: xyz, yük ve maske, ayrıca element ve atom-adı-karakter one-hot'ları. Ayarlanmamışsa max_atomic_number, char_vocab_size ve max_chars değerlerinden türetilir.
  • folding_trunk_num_hidden_layers (int, isteğe bağlı, varsayılan 24) — Folding trunk'taki çift güncelleme bloklarının sayısı.
  • parcae_num_coda_layers (int, isteğe bağlı, varsayılan 2) — Parcae coda'sındaki çift güncelleme bloklarının sayısı.
  • atom_encoder (EsmFold2AtomEncoderConfig, isteğe bağlı) — Girdi gömme SWA atom kodlayıcısının yapılandırması.
  • structure_head (EsmFold2StructureHeadConfig, opsiyonel) — Diffüzyon tabanlı yapı tahmini başlığı için yapılandırma (diffusion_module alt yapılandırmasını içerir).
  • confidence_head (EsmFold2ConfidenceHeadConfig, opsiyonel) — Güvenlik başlığı için yapılandırma.
  • msa_encoder (EsmFold2MsaEncoderConfig, isteğe bağlı) — MSA kodlayıcısı için yapılandırma.
  • lm_encoder (EsmFold2LmEncoderConfig, opsiyonel) — Dil modelinin gizli durum kodlayıcısının yapılandırması.
  • esmc_config (EsmcConfig, isteğe bağlı) — Paketlenmiş ESMC omurgası için yapılandırma.

Bu, bir Esmfold2Model'in yapılandırmasını depolamak için kullanılan yapılandırma sınıfıdır. Belirtilen argümanlara göre bir Esmfold2 modelini örneklemek ve model mimarisini tanımlamak için kullanılır. Varsayılan değerlerle bir yapılandırma örneği oluşturmak, biohub/ESMFold2 ile benzer bir yapılandırmaya yol açar.

Yapılandırma nesneleri PreTrainedConfig sınıfından devralır ve model çıktılarını kontrol etmek için kullanılabilir. Daha fazla bilgi için PreTrainedConfig belgesini okuyun.

validate_architecture

< >

( )

Alt yapılandırmaları kapsayan genişlik ilişkilerini kontrol eder; her alt yapılandırma kendi ilişkilerini kontrol eder.

EsmFold2PreTrainedModel

sınıf transformers.EsmFold2PreTrainedModel

< >

( config: PreTrainedConfig*inputs**kwargs )

Parametreler

  • config (PreTrainedConfig) — Modelin tüm parametrelerini içeren model yapılandırma sınıfı. Bir yapılandırma dosyasıyla başlatmak, modelle ilişkili ağırlıkları yüklemez, yalnızca yapılandırmayı yükler. Model ağırlıklarını yüklemek için from_pretrained() yöntemine bakın.

Bu model PreTrainedModel sınıfından devralır. Kütüphanenin tüm modelleri için uyguladığı genel yöntemler (indirme veya kaydetme, giriş gömme boyutlarını yeniden boyutlandırma, başları budama vb.) için üst sınıf belgelendirmesine bakın.

Bu model aynı zamanda bir PyTorch torch.nn.Module alt sınıfıdır. Bunu standart bir PyTorch Module olarak kullanın ve genel kullanım ve davranışla ilgili tüm konular için PyTorch dokümantasyonuna başvurun.

EsmFold2Model

sınıf transformers.EsmFold2Model

< >

( config: EsmFold2Config )

Parametreler

  • config (EsmFold2Config) — Modelin tüm parametrelerini içeren model yapılandırma sınıfı. Bir yapılandırma dosyasıyla başlatmak, modelle ilişkili ağırlıkları yüklemez, yalnızca yapılandırmayı yükler. Model ağırlıklarını yüklemek için from_pretrained() yöntemine bakın.

ESMFold2, ESMC protein-dili modeli omurgasıyla birlikte paketlenmiş tüm atom protein yapısı tahmin edicisidir. Bu, standart olarak yayımlanmış ESMFold2 mimarisidir; gövdesi doğrusal-yinelenen bir yığından (içeride “parcae” olarak adlandırılır) oluşur.

Bu model PreTrainedModel sınıfından devralır. Kütüphanenin tüm modelleri için uyguladığı genel yöntemler (indirme veya kaydetme, giriş gömme boyutlarını yeniden boyutlandırma, başları budama vb.) için üst sınıf belgelendirmesine bakın.

Bu model aynı zamanda bir PyTorch torch.nn.Module alt sınıfıdır. Bunu standart bir PyTorch Module olarak kullanın ve genel kullanım ve davranışla ilgili tüm konular için PyTorch dokümantasyonuna başvurun.

forward

< >

( token_index: Tensorresidue_index: Tensorasym_id: Tensorsym_id: Tensorentity_id: Tensormol_type: Tensorres_type: Tensortoken_bonds: Tensorattention_mask: Tensoratom_inputs: EsmFold2AtomInputsdeletion_mean: typing.Optional[torch.Tensor] = Nonemsa: typing.Optional[torch.Tensor] = Nonehas_deletion: typing.Optional[torch.Tensor] = Nonedeletion_value: typing.Optional[torch.Tensor] = Nonemsa_attention_mask: typing.Optional[torch.Tensor] = Noneinput_ids: typing.Optional[torch.Tensor] = Nonelm_hidden_states: typing.Optional[torch.Tensor] = Nonenum_loops: int | None = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → [~models.esmfold2.modeling_esmfold2.EsmFold2TrunkOutput] or tuple(torch.Tensor)

Parametreler

  • token_index (torch.Tensor, şekli (batch_size, num_tokens)) — Tam karmaşık yapı içindeki token başına konumsal indeks; göreli konum kodlamasına girdi sağlar.
  • residue_index (torch.Tensor, şekli (batch_size, num_tokens)) — Her zincir içindeki rezidü indeksi; göreli konum kodlamasına girdi sağlar.
  • asym_id (torch.Tensor, şekli (batch_size, num_tokens)) — Her token için asimetrik birim (zincir) kimliği.
  • sym_id (torch.Tensor, şekli (batch_size, num_tokens)) — Bir homomerin aynı zincirlerini ayırt eden simetri kopyası kimliği.
  • entity_id (torch.Tensor, şekli (batch_size, num_tokens)) — Aynı moleküler varlığa ait tokenları gruplayan varlık kimlikleri.
  • mol_type (torch.Tensor, şekli (batch_size, num_tokens)) — Her token için molekül tipi kodu: 0 = protein, 1 = DNA, 2 = RNA, 3 = polimer olmayan (ligand).
  • res_type (torch.Tensor, şekli (batch_size, num_tokens)) — Her token için rezidü tipi (amino asit kimliği) indeksi.
  • token_bonds (torch.Tensor, şekli (batch_size, num_tokens, num_tokens, 1)) — Tokenlar arası ikili kovalent bağ özelliği.
  • attention_mask (torch.Tensor, şekli (batch_size, num_tokens)) — Geçerli tokenları (1) dolgu tokenlarından (0) ayırt eden maske. Girdiler sağdan doldurulmuş olmalıdır.
  • atom_inputs (~models.esmfold2.modeling_esmfold2.EsmFold2AtomInputs) — Ham referans konformer atom tensörleri, paketlenmiş halde: konumlar, atom numaraları, formal yükler, kodlanmış atom adları, atom başına grup kimlikleri, atom dolgu maskesi ve atom->token eşlemesi.
  • deletion_mean (torch.Tensor, şekli (batch_size, num_tokens), opsiyonel) — Sütun başına ortalama MSA silme sayısı. Varsayılan olarak sıfırlardır (MSA yok).
  • msa (torch.Tensor, şekli (batch_size, msa_depth, num_tokens), opsiyonel) — MSA rezidü tipi token'ları (0. satır sorgu dizisidir). Varsayılan olarak tek dizili MSA kullanılır.
  • has_deletion (torch.Tensor, şekli (batch_size, msa_depth, num_tokens), opsiyonel) — Silinme ile başlayan MSA konumlarını işaretleyen Boole bayrağı.
  • deletion_value (torch.Tensor, şekli (batch_size, msa_depth, num_tokens), opsiyonel) — Pozisyon başına MSA silme sayıları.
  • msa_attention_mask (torch.Tensor, şekli (batch_size, msa_depth, num_tokens), opsiyonel) — MSA satır/sütunları için geçerlilik maskesi.
  • input_ids (torch.Tensor, şekli (batch_size, num_tokens), opsiyonel) — Sıralama için ESMC sözlüğü token kimlikleri. lm_hidden_states doğrudan verilmediğinde, bunları üretmek için paketlenmiş ESMC omurgasına (backbone) beslenir; lm_hidden_states verildiğinde yok sayılır.
  • lm_hidden_states (torch.Tensor, şekli (batch_size, num_tokens, num_esmc_layers + 1, esmc_hidden_size), opsiyonel) — Önceden hesaplanmış ESMC omurga gizli durumları; her omurga katmanı için bir tane ve gömme katmanı dahil. Sağlandığında omurga çalıştırılmaz ve input_ids kullanılmaz.
  • num_loops (int, isteğe bağlı) — Gövde iyileştirme döngülerinin sayısı. Varsayılan değeri config.num_loops'tür.

Dönüş değeri

[~models.esmfold2.modeling_esmfold2.EsmFold2TrunkOutput] veya tuple(torch.Tensor)

A [~models.esmfold2.modeling_esmfold2.EsmFold2TrunkOutput] veya bir torch.Tensor demeti (eğer return_dict=False geçirildiyse veya config.return_dict=False ise) yapılandırma ([EsmFold2Config]) ve girdilere bağlı olarak çeşitli öğelerden oluşur.

Katlanma gövdesini çalıştırın: girdileri özellikleştirin, bunları bir çift temsiline gömün, num_loops geri dönüşüm yinelemesi boyunca bunu iyileştirin ve distogramı okuyun. Bu, bir yapı tahmininin deterministik yarısıdır; döndürülen çift temsilini 3B koordinatlara dönüştüren difüzyon örnekleyici EsmFold2FoldingMixin içinde yer alır — uçtan uca bir tahmin için [~EsmFold2Model.fold] veya [~EsmFold2Model.infer_protein] çağrısını kullanın.

  • distogram_logits (torch.Tensor, şekli (batch_size, num_tokens, num_tokens, distogram_bins)) — Kalıntı çiftleri üzerinde tahmin edilen mesafe dağılımı logitleri.
  • pair_states (torch.Tensor, şekli (batch_size, num_tokens, num_tokens, pairwise_hidden_size)) — fp32'de gövdenin son çift temsili.
  • single_inputs (torch.Tensor, şekli (batch_size, num_tokens, single_inputs_size)) — Girdi gömme birimi tarafından oluşturulan birleştirilmiş tek girdi özellikleri.
  • relative_position_encoding (torch.Tensor, şekli (batch_size, num_tokens, num_tokens, pairwise_hidden_size)) — Göreli konum çifti kodlaması.
  • token_bonds_encoding (torch.Tensor, şekli (batch_size, num_tokens, num_tokens, pairwise_hidden_size)) — Gömülü tokenlar arası kovalent bağ özelliği.
  • atom_inputs (~models.esmfold2.modeling_esmfold2.EsmFold2AtomInputs, opsiyonel) — Difüzyon atom yığını tarafından yeniden kullanılan, özelliklendirilmiş referans konformer atom girdileri.

katla

< >

( attention_mask: Tensorasym_id: Tensormol_type: Tensordistogram_atom_idx: Tensornum_diffusion_samples: int | None = Nonenum_sampling_steps: int | None = None**trunk_kwargs )

Özelliklendirilmiş girdilerden bir yapıyı uçtan uca tahmin edin: gövdeyi çalıştırın (EsmFold2Model.forward, özellik argümanlarını belgeleyen), difüzyon yapı başlığından koordinat örnekleyin ve bunları güven başlığıyla puanlayın.

Burada yalnızca örnekleyicinin ve güven başlığının ihtiyaç duyduğu argümanlar adlandırılmıştır; geri kalanlar gövdeye olduğu gibi iletildiğinden fold, forward ile aynı argümanları alır.

attention_mask (torch.Tensor, şekli (batch_size, num_tokens)): Geçerli tokenları (1) dolgu tokenlarından (0) ayırt eden maske. Ayrıca trunk'a da iletilir. asym_id (torch.Tensor, şekli (batch_size, num_tokens)): Her token için asimetrik birim (zincir) kimliği. Ayrıca trunk'a da iletilir. mol_type (torch.Tensor, şekli (batch_size, num_tokens)): Her token için molekül türü kodu: 0 = protein, 1 = DNA, 2 = RNA, 3 = polimer olmayan (ligand). Ayrıca trunk'a da iletilir. distogram_atom_idx (torch.Tensor, şekli (batch_size, num_tokens)): Her token için temsilci atomun (glisin için Cα, diğerleri için Cβ) indeksi. Güvenlik başlığı tarafından kullanılır; trunk'a gerek yoktur. num_diffusion_samples (int, isteğe bağlı): Çizilecek paralel yapı örneklerinin sayısı; güvenlik başlığı her örnek için bir kez yeniden çalıştırılır. Varsayılan değer config.structure_head.num_diffusion_samples'tır. num_sampling_steps (int, isteğe bağlı): Diffusion örneklemesi adımlarının sayısı. Varsayılan değer config.structure_head.inference_num_steps'tür. trunk_kwargs: Kalan özelliklendirilmiş girdiler (num_loops dahil, ayrıca aşağıda atom_inputs içine toplanan ham atom başına tensörler), bunları belgeleyen [EsmFold2Model.forward] fonksiyonuna iletilir.

infer_protein

< >

( sequence: str**forward_kwargs )

sequence öğesini özelliklendirin ve katlayın. forward_kwargs, [~EsmFold2Model.fold] içine gider.

infer_protein_as_pdb

< >

( sequence: strsample_idx: int | None = None**forward_kwargs )

sequence dizisini katlayın ve tahmini bir PDB dizesi olarak görüntüleyin.

sample_idx, render edilecek difüzyon örneğini seçer; varsayılan olarak en yüksek sıralı olanıdır.

EsmFold2Output

sınıf transformers.models.esmfold2.modeling_esmfold2.EsmFold2Output

< >

( distogram_logits: typing.Optional[torch.Tensor] = Nonesample_atom_coords: typing.Optional[torch.Tensor] = Noneplddt_logits: typing.Optional[torch.Tensor] = Noneplddt: typing.Optional[torch.Tensor] = Noneplddt_per_atom: typing.Optional[torch.Tensor] = Noneplddt_ca: typing.Optional[torch.Tensor] = Nonecomplex_plddt: typing.Optional[torch.Tensor] = Nonecomplex_iplddt: typing.Optional[torch.Tensor] = Nonepae_logits: typing.Optional[torch.Tensor] = Nonepae: typing.Optional[torch.Tensor] = Nonepde_logits: typing.Optional[torch.Tensor] = Nonepde: typing.Optional[torch.Tensor] = Noneresolved_logits: typing.Optional[torch.Tensor] = Noneptm: typing.Optional[torch.Tensor] = Noneiptm: typing.Optional[torch.Tensor] = Nonepair_chains_iptm: typing.Optional[torch.Tensor] = None )

Parametreler

  • distogram_logits (torch.Tensor, şekli (batch_size, num_tokens, num_tokens, distogram_bins)) — Kalıntı çiftleri üzerinde tahmin edilen mesafe dağılımı logitleri (RNG'den bağımsız; difüzyon örneklemesi yok).
  • sample_atom_coords (torch.Tensor, şekli (num_diffusion_samples, num_atoms, 3)) — Her difüzyon örneği için tahmin edilen tüm atomlu Kartezyen koordinatlar.
  • plddt_logits (torch.Tensor, şekli (num_diffusion_samples, num_atoms, num_plddt_bins)) — Atom başına pLDDT bini logitleri.
  • plddt (torch.Tensor, şekli (num_diffusion_samples, num_tokens)) — Kalıntı başına tahmini lDDT güveni.
  • plddt_per_atom (torch.Tensor, şekli (num_diffusion_samples, num_atoms)) — Atom başına tahmini lDDT güveni.
  • plddt_ca (torch.Tensor, şekli (num_diffusion_samples, num_tokens)) — Her token'ın temsilci (Cα) atomundaki tahmini lDDT.
  • complex_plddt (torch.Tensor, şekli (num_diffusion_samples,)) — Kompleksin tüm atomları üzerindeki ortalama pLDDT.
  • complex_iplddt (torch.Tensor, şekli (num_diffusion_samples,)) — Arayüz-ağırlıklı karmaşık pLDDT.
  • pae_logits (torch.Tensor, şekli (num_diffusion_samples, num_tokens, num_tokens, num_pae_bins)) — Tahmin edilen hizalı hata (predicted-aligned-error) kutu logitleri.
  • pae (torch.Tensor, şekli (num_diffusion_samples, num_tokens, num_tokens)) — Her kalıntı çifti için beklenen tahmini hizalı hata (Å).
  • pde_logits (torch.Tensor, şekli (num_diffusion_samples, num_tokens, num_tokens, num_pde_bins)) — Tahmini mesafe hatası sınıfları logitleri.
  • pde (torch.Tensor, şekli (num_diffusion_samples, num_tokens, num_tokens)) — Her kalıntı çifti için beklenen tahmini mesafe hatası (Å).
  • resolved_logits (torch.Tensor, şekli (num_diffusion_samples, num_atoms, 2)) — Atom başına çözümlenmiş/çözümlenmemiş logitler.
  • ptm (torch.Tensor, şekli (num_diffusion_samples,)) — Her örnek için tahmin edilen TM-score.
  • iptm (torch.Tensor, şekli (num_diffusion_samples,)) — Her örnek için tahmin edilen arayüz TM skoru.
  • pair_chains_iptm (torch.Tensor, şekli (num_diffusion_samples, num_chains, num_chains)) — Her sıralı zincir çifti için tahmin edilen arayüz TM-skoru.

EsmFold2Model çıktısı. Tüm güven puanları 0-1 aralığındadır; örnek başına tensörlerin başında num_diffusion_samples ekseni bulunur.

EsmFold2TrunkOutput

sınıf transformers.models.esmfold2.modeling_esmfold2.EsmFold2TrunkOutput

< >

( distogram_logits: typing.Optional[torch.Tensor] = Nonepair_states: typing.Optional[torch.Tensor] = Nonesingle_inputs: typing.Optional[torch.Tensor] = Nonerelative_position_encoding: typing.Optional[torch.Tensor] = Nonetoken_bonds_encoding: typing.Optional[torch.Tensor] = Noneatom_inputs: transformers.models.esmfold2.modeling_esmfold2.EsmFold2AtomInputs | None = None )

Parametreler

  • distogram_logits (torch.Tensor, şekli (batch_size, num_tokens, num_tokens, distogram_bins)) — Kalıntı çiftleri üzerinde tahmin edilen mesafe dağılımı logitleri.
  • pair_states (torch.Tensor, şekli (batch_size, num_tokens, num_tokens, pairwise_hidden_size)) — Gövdenin (trunk) son çift temsili, fp32 olarak.
  • single_inputs (torch.Tensor, şekli (batch_size, num_tokens, single_inputs_size)) — Girdi gömme birimi tarafından oluşturulan birleştirilmiş tek girdi özellikleri.
  • relative_position_encoding (torch.Tensor, şekli (batch_size, num_tokens, num_tokens, pairwise_hidden_size)) — Göreli konum çift kodlaması.
  • token_bonds_encoding (torch.Tensor, şekli (batch_size, num_tokens, num_tokens, pairwise_hidden_size)) — Gömülü tokenlar arası kovalent bağ özelliği.
  • atom_inputs (~models.esmfold2.modeling_esmfold2.EsmFold2AtomInputs, isteğe bağlı) — Diffusion atom yığını tarafından yeniden kullanılan, featuralandırılmış referans konformer atom girdileri.

EsmFold2Model.forward() çıktısı: katlama gövdesinin çift temsili, bu temsilden okunan distogram ve yapı ile güven başlıklarının kullandığı koşullandırma tensörleri. Gövdenin rastgele başlangıç çift durumu dışında, buradaki her şey girdilere göre deterministiktir.

EsmFold2AtomInputs

sınıf transformers.models.esmfold2.modeling_esmfold2.EsmFold2AtomInputs

< >

( ref_pos: Tensorref_charge: Tensoratom_attention_mask: Tensorref_element: Tensorref_atom_name_chars: Tensorref_space_uid: Tensoratom_to_token: Tensor )

Parametreler

  • ref_pos — (batch_size, num_atoms, 3) referans konformerin Kartezyen koordinatları.
  • ref_charge — (batch_size, num_atoms) her atomun formal yükü.
  • atom_attention_mask — (batch_size, num_atoms) geçerli atomlar (1) ile dolgu (0).
  • ref_element — (batch_size, num_atoms, max_atomic_number) tek-sıcak atom numarası.
  • ref_atom_name_chars — (batch_size, num_atoms, max_chars, char_vocab_size) tek-sıcak atom adı.
  • ref_space_uid — (batch_size, num_atoms) atom başına grup kimliği (atomun token indeksi).
  • atom_to_token — her atomun ait olduğu token'ın (batch_size, num_atoms) indeksi.

Atom girdileri, referans konformere göre özelliklendirilmiş ve atom yığınının tek bir argüman alması için bir arada paketlenmiştir.

[EsmFold2Model.forward] tarafından tek bir argüman olarak alınır ve ham featurizer tensörlerini içerir. EsmFold2Model._prepare_features ardından kategorik alanları one-hot kodlar ve padding'i sıfırlar; forward ise dataclasses.replace ile bunları değiştirir, böylece o noktadan itibaren aşağıdaki her tüketici, aşağıda belgelenen kodlanmış formları görür. [EsmFold2TrunkOutput] üzerinden döndürülür, böylece difüzyon örnekleyici ve güvenlik başlığı, trunk'ın featurization'ını yeniden yapmaktansa yeniden kullanır.

A plain dataclass rather than a [~utils.ModelOutput]: every field here is required and is read unconditionally downstream, and ModelOutput permits at most one required field (the rest must default to None), which would turn a missing tensor from a constructor error into a None surfacing deep in the atom encoder.

Update on GitHub