| 1 | # Insert N markers at each selected link. Example Chimera command
|
|---|
| 2 | #
|
|---|
| 3 | # runscript dividelinks.py 4
|
|---|
| 4 | #
|
|---|
| 5 | def divide_links(links, n):
|
|---|
| 6 | from VolumePath import Link
|
|---|
| 7 | for link in links:
|
|---|
| 8 | m1, m2 = link.marker1, link.marker2
|
|---|
| 9 | mprev = m1
|
|---|
| 10 | mset = m1.marker_set
|
|---|
| 11 | for i in range(n):
|
|---|
| 12 | f = float(i+1) / (n+1)
|
|---|
| 13 | xyz = tuple((1-f)*x1+f*x2 for x1, x2 in zip(m1.xyz(), m2.xyz()))
|
|---|
| 14 | m = mset.place_marker(xyz, link.rgba(), m1.radius())
|
|---|
| 15 | Link(mprev, m, link.rgba(), link.radius())
|
|---|
| 16 | mprev = m
|
|---|
| 17 | Link(mprev, m2, link.rgba(), link.radius())
|
|---|
| 18 | link.delete()
|
|---|
| 19 |
|
|---|
| 20 | n = int(arguments[0])
|
|---|
| 21 | from VolumePath import markerset
|
|---|
| 22 | links = markerset.selected_links()
|
|---|
| 23 | divide_links(links, n)
|
|---|