On 24/01/2026 20:59, Michal Navratil wrote:
Hello Paul,
Hello Michal,
thank you for the kind reply.
Btw. wouldn't AI-assisted coding help you?
It does help me. I am part-way through a blog-post/article about it.
Americans are already pretty near this milestone - you get like the
most of it written and than just go through it and make it perfect...
There are technical limitations. This fragment of Coot is about 500k
loc, say about 2M tokens. Using Claude, I get 200 k tokens budget -
that's an order of magnitude less than it needs to understand the
context. Or so I believe. I actually haven't tried asking Opus 4.5 to
make the fix - maybe it could do it. If I tried, it would blow my budget
for the rest of the month I imagine (and I now like programing with a
Claude window open).
I think it is like with the progressive Italians making their marble
sculptures using 400 000 USD robots - they make 99 %, but the final
human touch makes them perfect...
My experience so far has been largely the other way around, as long as I
have put in place the groundwork, dug the foundations, as it were, it
can do a nice job with the building and decoration.
May be I will add, besides stressing how important is the cross-eye
stereo, some other suggestions, like a hot key for moving by 10
residues (thanks for space forward and shift+space backward, that is
awesome) (ctrl+space 10 forward and ctrl+shift+space 10 backward?).
One of those things is not like the other! (one is 5 days (or more) and
the other is 5 minutes (or less)).
The key-bindings/shortcuts system has been re-written from scratch and
is now flexible. Lucrezia is the doyen of all things key-binding.
Anyway see attached - stick it in your ~/.config/Coot directory (and
restart, of course).
There isn't a key-code for Shift-Space so backwards is Ctrl-X. You can
check that it's been stored using coot.print_key_bindings() in the
Python interface.
Oh, and on testing, it became apparent that it would be nice if there
was a visual cue meaning or saying "that residue doesn't exist" - that
isn't available in scripting (not easily, anyway). I will add something.
Paul.
p.s. and (Adrian) for the record, the Gravity's Rainbow reference was
something to do with getting your message past the text filter? - with
ironic overtones, perhaps?
########################################################################
To unsubscribe from the CCP4BB list, click the following link:
https://www.jiscmail.ac.uk/cgi-bin/WA-JISC.exe?SUBED1=CCP4BB&A=1
This message was issued to members of www.jiscmail.ac.uk/CCP4BB, a mailing list
hosted by www.jiscmail.ac.uk, terms & conditions are available at
https://www.jiscmail.ac.uk/policyandsecurity/
import coot
import gi
def ten_step_internal(offset):
ar = coot.active_residue_py();
if ar:
new_res_no = ar[2] + offset
coot.set_go_to_atom_molecule(ar[0])
coot.set_go_to_atom_chain_residue_atom_name(ar[1], new_res_no, ar[4])
def ten_step_plus():
ten_step_internal(10)
def ten_step_minus():
ten_step_internal(-10)
# ctrl space ("What is the gdk key hexcode for the space key?")
coot.add_key_binding_gtk4_py(int(0x20), 1, ten_step_plus, "The 10-step program")
# ctrl x
coot.add_key_binding_gtk4_py(int(0x78), 1, ten_step_minus, "The negative 10-step program")