Split chains
From PyMOLWiki
|
Included in psico | |
| Module | psico.editing |
|---|---|
split_chains is a script that creates for each chain in selection its own object.
Contents |
Usage
split_chains [ selection [, prefix ]]
Example
fetch 2yko 2ykp 2ykq, async=0 split_chains delete 2yko 2ykp 2ykq alignto 2yko_A
The Script
from pymol import cmd, CmdException def split_chains(selection='(all)', prefix=None): ''' DESCRIPTION Create a single object for each chain in selection SEE ALSO split_states, http://pymolwiki.org/index.php/Split_object ''' count = 0 models = cmd.get_object_list('(' + selection + ')') for model in models: for chain in cmd.get_chains('(%s) and model %s' % (selection, model)): if chain == '': chain = "''" count += 1 if not prefix: name = '%s_%s' % (model, chain) else: name = '%s%04d' % (prefix, count) cmd.create(name, '(%s) and model %s and chain %s' % (selection, model, chain)) cmd.disable(model) cmd.extend('split_chains', split_chains)