Нарисуйте облигации PyMOL, используя пакет R Bio3d

Используя пакет R bio3d, я хотел бы нарисовать связи между двумя атомами в белке и разобрать структуру на PyMOL, используя пакет pymol().

library(bio3d)

# Import PDB file
pdb <- read.pdb( system.file("examples/1hel.pdb", package="bio3d") )

# Atom 1
sele.1 <- atom.select(pdb, "calpha", resno=43, verbose=TRUE)

# Atom 2
sele.2 <- atom.select(pdb, "calpha", resno=54, verbose=TRUE)

В этом примере я хотел бы провести связь/касательную/линию между атомами sele.1 и sele.2 — довольно тривиальная задача, возможно ли это?


person user 123342    schedule 04.12.2017    source источник


Ответы (1)


Можно разобрать скрипт PyMOL из R:

# Return a string of commands to draw 
pymol.bond.sele.command = function(atom1, atom2, nbond, chainID){

    # return PyMOL command to draw a bond between atoms 1 and 2
    return(paste(paste('distance ', paste('mydist', nbond, ', ', sep=''),
        'chain ', pymolchain, ' and ', atom1, '/CA, ', 'chain ', pymolchain, ' and ', atom2, '/CA', sep='')))
}

> pymol.bond.sele.command(43, 54, 1, A)

[1] distance mydist1, chain A and 43/CA, chain A and 54/CA

Скопируйте вывод pymol.bond.sele.command() в терминал PyMOL.

Чтобы удалить метку расстояния:

pymol.bond.lab.rm.command = function(nbond, chainID){

    # return PyMOL command to remove the distance label drawn for distance element x
    return(paste('hide labels, mydist', nbond, sep=''))
}

> pymol.bond.lab.rm.command(1, A)
[1] hide labels, mydist1

Скопируйте вывод pymol.bond.lab.rm.command() в терминал PyMOL.

person user 123342    schedule 05.12.2017