This is a read-only mirror of pymolwiki.org
Difference between revisions of "Renumber"
Jump to navigation
Jump to search
(Redirected page to Pdb retain ids) |
m (6 revisions) |
||
(5 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
− | # | + | {{Infobox script-repo |
+ | |type = module | ||
+ | |filename = renumber.py | ||
+ | |author = [[User:Speleo3|Thomas Holder]] | ||
+ | |license = BSD-2-Clause | ||
+ | }} | ||
+ | |||
+ | [[renumber]] sets new residue numbers (resi) for a polymer based on connectivity. | ||
+ | |||
+ | == Example == | ||
+ | |||
+ | This examples takes a pdb structure with insertion codes and sets a new, linear numbering based on [http://www.uniprot.org/uniprot/Q8N2U3_HUMAN Q8N2U3_HUMAN]. | ||
+ | |||
+ | <syntaxhighlight lang="python"> | ||
+ | fetch 1h4w, async=0 | ||
+ | |||
+ | # move everything which is not polymer to another chain | ||
+ | alter not polymer, chain="B" | ||
+ | |||
+ | # renumber polymer, first 27 residues of Q8N2U3_HUMAN missing. | ||
+ | renumber chain A, 28 | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | This example fixes numbering after concatenating two chains with [[fuse]]. Note that the cartoon representation and the [[seq_view|sequence viewer]] need [[sort|sorting]] to display correctly. | ||
+ | |||
+ | <syntaxhighlight lang="python"> | ||
+ | fab ACDEFG, chain1 | ||
+ | fab HIKLMN, chain2 | ||
+ | |||
+ | disable chain1 | ||
+ | as cartoon | ||
+ | |||
+ | fuse last (chain1 and name C), first (chain2 and name N) | ||
+ | renumber chain2 | ||
+ | sort chain2 | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | == Troubleshooting == | ||
+ | |||
+ | For large molecules it might be necessary to increase the [http://docs.python.org/library/sys.html#sys.getrecursionlimit python recursion limit]: | ||
+ | |||
+ | <syntaxhighlight lang="python"> | ||
+ | import sys | ||
+ | sys.setrecursionlimit(10**5) | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | == See Also == | ||
+ | |||
+ | * [[alter]] | ||
+ | * [[rename]] | ||
+ | * [[pdb_retain_ids]] | ||
+ | |||
+ | [[Category:Script_Library]] | ||
+ | [[Category:Pymol-script-repo]] |
Latest revision as of 03:49, 28 March 2014
Type | Python Module |
---|---|
Download | renumber.py |
Author(s) | Thomas Holder |
License | BSD-2-Clause |
This code has been put under version control in the project Pymol-script-repo |
renumber sets new residue numbers (resi) for a polymer based on connectivity.
Example
This examples takes a pdb structure with insertion codes and sets a new, linear numbering based on Q8N2U3_HUMAN.
fetch 1h4w, async=0
# move everything which is not polymer to another chain
alter not polymer, chain="B"
# renumber polymer, first 27 residues of Q8N2U3_HUMAN missing.
renumber chain A, 28
This example fixes numbering after concatenating two chains with fuse. Note that the cartoon representation and the sequence viewer need sorting to display correctly.
fab ACDEFG, chain1
fab HIKLMN, chain2
disable chain1
as cartoon
fuse last (chain1 and name C), first (chain2 and name N)
renumber chain2
sort chain2
Troubleshooting
For large molecules it might be necessary to increase the python recursion limit:
import sys
sys.setrecursionlimit(10**5)