| import torch | |
| import esm | |
| model = esm.pretrained.esmfold_v1() | |
| model = model.eval().to(f'cuda:0') | |
| # Optionally, uncomment to set a chunk size for axial attention. This can help reduce memory. | |
| # Lower sizes will have lower memory requirements at the cost of increased speed. | |
| # model.set_chunk_size(128) | |
| sequence = "MKTVRQERLKSIVRILERSKEPVSGAQLAEELSVSRQVIVQDIAYLRSLGYNIVATPRGYVLAGG" | |
| # Multimer prediction can be done with chains separated by ':' | |
| with torch.no_grad(): | |
| output = model.infer_pdb(sequence) | |
| with open("result.pdb", "w") as f: | |
| f.write(output) | |
| import biotite.structure.io as bsio | |
| struct = bsio.load_structure("result.pdb", extra_fields=["b_factor"]) | |
| print(struct.b_factor.mean()) # this will be the pLDDT | |
| # 88.3 |