В PyMOL, как я могу заставить выбор рези работать с переменными?

Если я хочу выбрать остаток на белке (скажем, десятый остаток), при написании сценария PyMOL я могу использовать следующий код, чтобы назначить его переменной «pep».

select pep, (resi 10) 

Однако, если я попытаюсь использовать предопределенную переменную вместо чисел в выборе, никакие атомы не будут присвоены выбору.

    a=10
    select pep, (resi a)

Никакая ошибка не возвращается, и никакие атомы не назначаются выбору. Я пробовал приводить переменную как строку и как целое число, но ни один из них не работал. Если я использую переменную a в другом месте, например, в операторе печати или дополнении, все работает отлично. Кто-нибудь знает, как заставить выборку resi работать с переменными? Я пытаюсь использовать это, чтобы по-разному окрашивать аминокислоты на основе некоторых данных, которые мы собрали, и я не хочу жестко кодировать остатки каждый раз. время, когда я анализирую новый набор данных.


person Isaac    schedule 06.05.2015    source источник


Ответы (1)


Следующее эквивалентно select pep, (resi 10):

a=10
cmd.select("pep", "resi " + str(a))

or

cmd.select("pep", "resi %i"%(a))
person Mehdi Nellen    schedule 29.05.2015