Выбор консервативных остатков в белке с помощью скрипта PyMol путем импорта списка остатков из текстового файла

Я хотел выбрать некоторые высококонсервативные остатки в белке (вычисленные с помощью механизма подсчета и перечисленные в текстовом файле - каждый остаток в одной строке), используя скрипт PyMol. Скрипт PyMol, который я использую ниже, не работает. Я буду очень благодарен вам, если кто-то может мне помочь.

Части скрипта прекрасно работают при отдельном запуске - скрипт Pymol, когда в скрипте упоминается номер остатка без импорта списка из текстового файла, и просто скрипт python для загрузки чисел из файла в массив также отлично работает при запуске по отдельности. Но проблема видна, когда он комбинируется, как в моем скрипте ниже - когда номер остатка нужно взять из массива, как я, после импорта списка из текстового файла. Любая помощь приветствуется. Спасибо!

#!/usr/bin/python
from pymol import cmd
import string
cmd.load("/home/xyz/proteinA.pdb", 'protein')

f=open('/home/xyz/residuedata.txt','r')
array = []
filecontents = f.read().split()
for val in filecontents:
        array.append(int(val))
f.close()
for i in array:
    cmd.select("residuedata", "resi i")
    cmd.show('sphere', "residuedata")
    cmd.color ('red', "residuedata")

1 ответ

"resi i" Строка не знает о вашем i переменная.

Ты намеревался сделать это?

for i in array:
    cmd.select("residuedata", "resi {}".format(i))
Другие вопросы по тегам