This is a read-only mirror of pymolwiki.org

Difference between revisions of "Get raw alignment"

From PyMOL Wiki
Jump to navigation Jump to search
m (3 revisions)
m (1 revision)
 
(3 intermediate revisions by 2 users not shown)
Line 4: Line 4:
 
* ''The order of the atom tuples are not necessarily in the order in which the two (or more) selections were passed to [[Align|cmd.align]].''
 
* ''The order of the atom tuples are not necessarily in the order in which the two (or more) selections were passed to [[Align|cmd.align]].''
 
* ''Will not return atom tuples of hidden objects (see also [[hide_underscore_names]])''
 
* ''Will not return atom tuples of hidden objects (see also [[hide_underscore_names]])''
 +
* ''Reimplemented in PyMOL 2.3, order of returned atom tuples can differ to previous versions''
  
 
== PYMOL API ==
 
== PYMOL API ==
Line 22: Line 23:
 
raw_aln = cmd.get_raw_alignment('aln')
 
raw_aln = cmd.get_raw_alignment('aln')
  
# print residue pairs
+
# print residue pairs (atom index)
 
for idx1, idx2 in raw_aln:
 
for idx1, idx2 in raw_aln:
     print '%s`%d -> %s`%d' % tuple(idx1 + idx2)
+
     print('%s`%d -> %s`%d' % tuple(idx1 + idx2))
  
 
#end the python block
 
#end the python block
 +
python end
 +
</source>
 +
 +
To print residue numbers instead of atom indices:
 +
 +
<source lang="python">
 +
# continued from previous example
 +
python
 +
 +
idx2resi = {}
 +
cmd.iterate('aln', 'idx2resi[model, index] = resi', space={'idx2resi': idx2resi})
 +
 +
# print residue pairs (residue number)
 +
for idx1, idx2 in raw_aln:
 +
    print('%s -> %s' % (idx2resi[idx1], idx2resi[idx2]))
 +
 
python end
 
python end
 
</source>
 
</source>
Line 34: Line 51:
 
* [[align]]
 
* [[align]]
 
* [[find_pairs]] returns a list of lists of (object,index) tuples as well
 
* [[find_pairs]] returns a list of lists of (object,index) tuples as well
 +
* [[set_raw_alignment]]
  
 
[[Category:Scripting]]
 
[[Category:Scripting]]
 
[[Category:Structure_Alignment]]
 
[[Category:Structure_Alignment]]

Latest revision as of 03:14, 7 January 2019

get_raw_alignment is an API only function that returns a list of lists of (object,index) tuples containing the raw per-atom alignment relationships. Alignment objects can be created by passing the "object" argument to align or super.

Please note:

  • The order of the atom tuples are not necessarily in the order in which the two (or more) selections were passed to cmd.align.
  • Will not return atom tuples of hidden objects (see also hide_underscore_names)
  • Reimplemented in PyMOL 2.3, order of returned atom tuples can differ to previous versions

PYMOL API

cmd.get_raw_alignment(string name)

EXAMPLE

# start a python block
python

# get two structures
cmd.fetch('2xwu 2x19', async=0)

# align and get raw alignment
cmd.align('/2xwu//B//CA', '/2x19//B//CA', cycles=0, transform=0, object='aln')
raw_aln = cmd.get_raw_alignment('aln')

# print residue pairs (atom index)
for idx1, idx2 in raw_aln:
    print('%s`%d -> %s`%d' % tuple(idx1 + idx2))

#end the python block
python end

To print residue numbers instead of atom indices:

# continued from previous example
python

idx2resi = {}
cmd.iterate('aln', 'idx2resi[model, index] = resi', space={'idx2resi': idx2resi})

# print residue pairs (residue number)
for idx1, idx2 in raw_aln:
    print('%s -> %s' % (idx2resi[idx1], idx2resi[idx2]))

python end

SEE ALSO