Get raw alignment: Difference between revisions
Jump to navigation
Jump to search
(hidden objects) |
(residue numbers) |
||
Line 22: | Line 22: | ||
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> |
Revision as of 05:29, 13 August 2018
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)
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
- align
- find_pairs returns a list of lists of (object,index) tuples as well