Запуск консольных команд Pymol через скрипт Bash

Я хочу запускать команды в консоли pymol через скрипт bash. Как мне это сделать? Ниже мой код, но он не работает.

#!/bin/bash
##
## PyMOL startup script
##

# Set PYMOL_PATH to point to this directory
export PYMOL_PATH="$(dirname "$(readlink -f "$0")")"

# other environment variables
export PYTHONHOME=$PYMOL_PATH/ext
export PYTHONPATH=$PYTHONHOME/lib/python2.7:$PYTHONHOME/lib/python2.7 /lib-tk:$PYTHONPATH
export LD_LIBRARY_PATH=$PYMOL_PATH/ext/lib:$LD_LIBRARY_PATH
export LANG=C

# binary executable
exec $PYMOL_PATH/pymol.exe "$@"
exec cmd.load("1a4g.pdb") 
exec cmd.quit()

person Kamalika Ray    schedule 05.06.2015    source источник
comment
Похоже на проблему XY. Плохая идея - пытаться использовать bash для ввода в интерактивную консоль, если я правильно понял.   -  person 4ae1e1    schedule 05.06.2015
comment
Тогда что мне делать? Мне нужно автоматизировать плагин pymol для 200 белков. Как я могу это сделать?   -  person Kamalika Ray    schedule 05.06.2015
comment
Я не знаю PyMOL, но я полагаю, что должна быть пакетная опция.   -  person 4ae1e1    schedule 05.06.2015


Ответы (1)


Вы можете просто создать сценарий PyMOL в своем сценарии bash:

#!/bin/bash

$PROT1="1a4g"
$PROT2="1ogg"

#create the script
echo "fetch $PROT1
fetch $PROT2
select *" > script.pml

# GO!
pymol script.pml

В качестве альтернативы, если вы хотите запустить скрипт из самого pymol (вики PyMOL)

person Mehdi Nellen    schedule 19.06.2015