туториал Pymol

Решила выписывать полезные комбинации команд и скрипты чтобы не искать и не разбираться снова.

Кастомная покраска остатков

Оказывается можно покрасить своими значениями белок, для этого можно заменить колонку B-фактора (можно ли не делать этого?). У подхода есть свои подводные камни: покрасятся только атомы остова. В общем были у меня скоры выравнивания, я при помощи следующего скрипта покрасила сначала С альфа атомы:


        from pymol import cmd, stored

def assign_val():
      if stored.i < len(stored.scores):
          val = stored.scores[stored.i]
          stored.i += 1
          return val
      return 0.0


def load_scores(filename, selection="all"):
    """
    Загружает числа из файла и присваивает их в качестве B-фактора
    C-альфа атомам выбранной структуры.
    """
    # 1. Читаем числа из файла в список
    stored.scores = []
    try:
        with open(filename, 'r') as f:
            # Читает числа, разделенные пробелами или переносами строк
            for line in f:
                for token in line.split():
                    stored.scores.append(float(token))
    except IOError:
        print(f"Error: Не удалось открыть файл {filename}")
        return

    print(f"Загружено {len(stored.scores)} значений.")

    # 2. Сбрасываем B-факторы в 0
    cmd.alter(selection, "b=0")

    # 3. Присваиваем значения CA (C-альфа) атомам последовательно
    # Внимание: Порядок атомов в PDB должен совпадать с порядком чисел!
    stored.i = 0

    # Применяем только к C-альфа атомам ('n. CA')
    cmd.alter(f"({selection}) and n. CA", "b=assign_val()")
    
    # 4. Обновляем внутреннюю базу данных PyMOL
    cmd.sort() 
        
    print("Значения консервативности загружены в B-фактор.")

    

работа с поверхностью


        show surface
        set transparency, 0.5
    

Посмотреть окружение атома

    
     select site, byres all within 5 of ligand
     show sticks, site
     set cartoon_side_chain_helper, 1
     set ray_trace_mode, 1
   
  

Рассмотрение водородных связей

    
      angle my_angle_name, o, h, n