This is a read-only mirror of pymolwiki.org
Difference between revisions of "Split chains"
Jump to navigation
Jump to search
(Created page with "'''split_chains''' is a script that creates for each chain in selection its own object. == Usage == split_chains [ selection [, prefix ]] == Example == <source lang="python"...") |
m (4 revisions) |
||
(3 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
+ | {{Infobox psico | ||
+ | |module = psico.editing | ||
+ | }} | ||
+ | |||
'''split_chains''' is a script that creates for each chain in selection its own object. | '''split_chains''' is a script that creates for each chain in selection its own object. | ||
+ | |||
+ | ''This is a core command since PyMOL 1.6.0.0'' | ||
== Usage == | == Usage == | ||
Line 33: | Line 39: | ||
for model in models: | for model in models: | ||
for chain in cmd.get_chains('(%s) and model %s' % (selection, model)): | for chain in cmd.get_chains('(%s) and model %s' % (selection, model)): | ||
+ | if chain == '': | ||
+ | chain = "''" | ||
count += 1 | count += 1 | ||
if not prefix: | if not prefix: |
Latest revision as of 03:36, 28 March 2014
Included in psico | |
Module | psico.editing |
---|
split_chains is a script that creates for each chain in selection its own object.
This is a core command since PyMOL 1.6.0.0
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)