Upon further thought, I have come to a tentative conclusion that my own idea for the implementation of Base-Pair Swaps is flawed as originally envisioned. (See idea: “Tool Addition: Automatic Simple & Mutating Base-Pair Swaps”) I want to submit the following revision for the implementation of the idea:
Instead of holding down a hot key to enable the swap, then mouse -clicking, I now think it would be much better implemented as a “Swap Mode.”
“Swap Mode” would be a “sticky” mode that would stay on until disabled. Enabling Swap Mode could be both by a key-press (suggest either “S” or “5” - or both), and a control panel button similar to and located next to - the current A-U-G-C buttons. “Mutating Swap Mode” could similarly be activated also by a key-press (suggest either “M” or “6”), and also have a similar control panel button, also to the right of the current A-U-G-C buttons…
“Swap Mode” would also necessarily imply a uniquely identifiable pointer (suggest white circle with letter “S” for Simple Swap Mode, and white circle with letter “M” for Mutating Swap Mode) - to alert the user to the functionality currently selected.
Both the key-press and Control Panel button could be used interchangeably to toggle both activation and de-activation of either Swap Mode, or Mutating Swap Mode.
Swaps which may result in a broken bond would automatically disable the mode; recovery would be by “Z” key.
This revised implementation would be better because:
- It would enable multiple swaps without any further enabling action.
- it would also enable immediate reversal of un-successful swaps simply by immediately clicking a second time.
- It would eliminate the necessity of holding down a hot-key every time.
- It would better accommodate one-handed mouse operation. (especially for users with a disability leaving only one arm available for computer operation)
I still think that the Swap Automation feature as otherwise described in the idea: “Tool Addition: Automatic Simple & Mutating Base-Pair Swaps” - would be an extremely useful and time-saving convenience if added to EteRNA as a Feature - the only change I am now recommending is the details of implementation.