<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">I hope Tristan won’t mind, but since the question is now on the list, below is the recipe that Tristan sent me directly. If it works, Tristan gets credit. If it doesn’t, then my bad for sharing it - please don’t blame Tristan. <div class="">It worked for me, but <insert standard lawyer speak to lower expectations and avoid future blame for your troubles>.</div><div class=""><br class=""></div><div class="">Cheers,</div><div class="">Alexis<br class=""><div class=""><br class=""></div><div class=""><blockquote type="cite" class=""><div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt;" class="">You can add an amino acid to your chain using the following approach. First, select any atom from the residue you want to attach it to. Then in the shell:</div><div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt;" class=""><br class=""></div><div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt;" class="">m = session.isolde.selected_model</div><div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt;" class="">from chimerax.atomic import selected_residues</div><div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt;" class="">from chimerax.isolde.atomic.building.build_utils import add_amino_acid_residue</div><div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt;" class=""># if you're adding an ARG to the C-terminal end:</div><div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt;" class="">add_amino_acid_residue(m, 'ARG', prev_res=selected_residues(session)[0])</div><div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt;" class=""># if you're adding to the N-terminal end:</div><div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt;" class=""><span style="margin: 0px; font-size: 12pt; background-color: rgb(255, 255, 255);" class="">add_amino_acid_residue(m, 'ARG', next_res=selected_residues(session)[0])</span><br class=""></div><div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt;" class=""><span style="margin: 0px; font-size: 12pt; background-color: rgb(255, 255, 255);" class=""><br class=""></span></div><div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt;" class="">It currently makes no attempt to pre-optimise geometry so that'll be pretty crap, but it's usually good enough to easily settle into place (you might occasionally need to "isolde ignore" one or two residues for the first sim). There are a few known bugs:</div><div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt;" class=""><br class=""></div><div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt;" class=""><ul class=""><li class="">when adding into a gap, occasionally the "missing structure" pseudobonds will fail to update correctly, leaving the old pseudobond in place. This doesn't cause any immediate harm, but can mess up the structure on saving if not corrected. To do so, select the atoms on either end of the offending pseudobond, then:</li></ul><div class="">pbg = m.pseudobond_group[m.PBG_MISSING_STRUCTURE, create_type=None)</div><div class="">from chimerax.atomic import selected_atoms</div><div class="">pbg.pseudobonds[pbg.pseudobonds.between_atoms(selected_atoms(session))].delete()</div><div class=""><br class=""></div><div class=""><ul class=""><li class="">very occasionally, and for reasons that still remain mysterious, saving to mmCIF will lead to one or more of the new residues being duplicated - which can be really confusing at first because the coordinates for the new residue will be identical to the old. If it happens, this can be fixed by taking advantage of the fact that the "extra" residue is not bonded to anything:</li></ul><div class="">m = session.isolde.selected_model</div><div class="">from collections import defaultdict</div><div class="">rmap = defaultdict(list)</div><div class="">for r in m.residues:</div><div class=""> sig = (r.chain_id, r.number, r.insertion_code)</div><div class=""> rmap[sig].append(r)</div><div class="">for rlist in rmap.values():</div><div class=""> if len(rlist) > 1:</div><div class=""> for r in rlist:</div><div class=""> if len(r.neighbors) == 0:</div><div class=""> r.delete()</div></div></div></blockquote><div class=""><div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt;" class=""><div class=""><div class=""><br class=""></div></div></div></div><div><br class=""><blockquote type="cite" class=""><div class="">On Apr 26, 2021, at 10:12 AM, Tom Goddard <<a href="mailto:goddard@sonic.net" class="">goddard@sonic.net</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><meta http-equiv="Content-Type" content="text/html; charset=us-ascii" class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><div class=""><font color="#0f1419" face="-apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica, Arial, sans-serif" class=""><span style="caret-color: rgb(15, 20, 25); font-size: 15px; white-space: pre-wrap;" class="">Alexis Rohou asked on Twitter</span></font></div><div class=""><font color="#0f1419" face="-apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica, Arial, sans-serif" class=""><span style="caret-color: rgb(15, 20, 25); font-size: 15px; white-space: pre-wrap;" class=""><br class=""></span></font></div><span class="css-16my406 r-qvutc0 r-poiln3 css-901oao r-bcqeeo" style="border: 0px solid black; box-sizing: border-box; color: rgb(15, 20, 25); display: inline; font-stretch: inherit; font-size: 15px; line-height: inherit; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; margin: 0px; padding: 0px; white-space: pre-wrap; word-wrap: break-word; min-width: 0px; caret-color: rgb(15, 20, 25);"><span class="Apple-tab-span" style="white-space:pre"> </span>In </span><div class="r-xoduu5 css-1dbjc4n" style="-webkit-box-align: stretch; -webkit-box-direction: normal; -webkit-box-orient: vertical; align-items: stretch; border: 0px solid black; box-sizing: border-box; display: inline-flex; flex-basis: auto; flex-direction: column; flex-shrink: 0; margin: 0px; min-height: 0px; min-width: 0px; padding: 0px; position: relative; z-index: 0; caret-color: rgb(15, 20, 25); color: rgb(15, 20, 25); font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; font-size: 15px; white-space: pre-wrap;"><span class="r-18u37iz" style="-webkit-box-direction: normal; -webkit-box-orient: horizontal; flex-direction: row;"><a dir="ltr" href="https://twitter.com/UCSFChimeraX" role="link" class="css-18t94o4 css-16my406 r-1loqt21 r-qvutc0 css-4rbku5 r-bcqeeo css-901oao r-poiln3 r-1n1174f" style="color: rgb(27, 149, 224); font-family: inherit; font-size: inherit; font-style: inherit; font-variant-caps: inherit; font-stretch: inherit; line-height: inherit; list-style: none; margin: 0px; text-align: inherit; text-decoration: none; cursor: pointer; border: 0px solid black; box-sizing: border-box; display: inline; padding: 0px; white-space: inherit; word-wrap: break-word; min-width: 0px;">@UCSFChimeraX</a></span></div><span class="css-16my406 r-qvutc0 r-poiln3 css-901oao r-bcqeeo" style="border: 0px solid black; box-sizing: border-box; color: rgb(15, 20, 25); display: inline; font-stretch: inherit; font-size: 15px; line-height: inherit; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; margin: 0px; padding: 0px; white-space: pre-wrap; word-wrap: break-word; min-width: 0px; caret-color: rgb(15, 20, 25);"> 1.1.1 and </span><span class="r-18u37iz" style="-webkit-box-direction: normal; -webkit-box-orient: horizontal; flex-direction: row; caret-color: rgb(15, 20, 25); color: rgb(15, 20, 25); font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; font-size: 15px; white-space: pre-wrap;"><a dir="ltr" href="https://twitter.com/hashtag/Isolde?src=hashtag_click" role="link" class="css-18t94o4 css-16my406 r-1loqt21 r-qvutc0 css-4rbku5 r-bcqeeo css-901oao r-poiln3 r-1n1174f" style="color: rgb(27, 149, 224); font-family: inherit; font-size: inherit; font-style: inherit; font-variant-caps: inherit; font-stretch: inherit; line-height: inherit; list-style: none; margin: 0px; text-align: inherit; text-decoration: none; cursor: pointer; border: 0px solid black; box-sizing: border-box; display: inline; padding: 0px; white-space: inherit; word-wrap: break-word; min-width: 0px;">#Isolde</a></span><span class="css-16my406 r-qvutc0 r-poiln3 css-901oao r-bcqeeo" style="border: 0px solid black; box-sizing: border-box; color: rgb(15, 20, 25); display: inline; font-stretch: inherit; font-size: 15px; line-height: inherit; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; margin: 0px; padding: 0px; white-space: pre-wrap; word-wrap: break-word; min-width: 0px; caret-color: rgb(15, 20, 25);"> by </span><div class="r-xoduu5 css-1dbjc4n" style="-webkit-box-align: stretch; -webkit-box-direction: normal; -webkit-box-orient: vertical; align-items: stretch; border: 0px solid black; box-sizing: border-box; display: inline-flex; flex-basis: auto; flex-direction: column; flex-shrink: 0; margin: 0px; min-height: 0px; min-width: 0px; padding: 0px; position: relative; z-index: 0; caret-color: rgb(15, 20, 25); color: rgb(15, 20, 25); font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; font-size: 15px; white-space: pre-wrap;"><span class="r-18u37iz" style="-webkit-box-direction: normal; -webkit-box-orient: horizontal; flex-direction: row;"><a dir="ltr" href="https://twitter.com/CrollTristan" role="link" class="css-18t94o4 css-16my406 r-1loqt21 r-qvutc0 css-4rbku5 r-bcqeeo css-901oao r-poiln3 r-1n1174f" style="color: rgb(27, 149, 224); font-family: inherit; font-size: inherit; font-style: inherit; font-variant-caps: inherit; font-stretch: inherit; line-height: inherit; list-style: none; margin: 0px; text-align: inherit; text-decoration: none; cursor: pointer; border: 0px solid black; box-sizing: border-box; display: inline; padding: 0px; white-space: inherit; word-wrap: break-word; min-width: 0px;">@CrollTristan</a></span></div><span class="css-16my406 r-qvutc0 r-poiln3 css-901oao r-bcqeeo" style="border: 0px solid black; box-sizing: border-box; color: rgb(15, 20, 25); display: inline; font-stretch: inherit; font-size: 15px; line-height: inherit; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; margin: 0px; padding: 0px; white-space: pre-wrap; word-wrap: break-word; min-width: 0px; caret-color: rgb(15, 20, 25);"> is there an easy way to add aa residues to the end of a chain?</span><div class=""><span class="css-16my406 r-qvutc0 r-poiln3 css-901oao r-bcqeeo" style="border: 0px solid black; box-sizing: border-box; color: rgb(15, 20, 25); display: inline; font-stretch: inherit; font-size: 15px; line-height: inherit; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; margin: 0px; padding: 0px; white-space: pre-wrap; word-wrap: break-word; min-width: 0px; caret-color: rgb(15, 20, 25);"><br class=""></span></div><div class=""><span class="css-16my406 r-qvutc0 r-poiln3 css-901oao r-bcqeeo" style="border: 0px solid black; box-sizing: border-box; display: inline; font-stretch: inherit; line-height: inherit; margin: 0px; padding: 0px; word-wrap: break-word; min-width: 0px; caret-color: rgb(15, 20, 25); font-size: 15px; white-space: pre-wrap;"><font color="#0f1419" face="-apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica, Arial, sans-serif" class=""><a href="https://twitter.com/AlexisRohou/status/1386171500604977152" class=""><span class="Apple-tab-span" style="white-space:pre"> </span>https://twitter.com/AlexisRohou/status/1386171500604977152</a></font></span></div><div class=""><span class="css-16my406 r-qvutc0 r-poiln3 css-901oao r-bcqeeo" style="border: 0px solid black; box-sizing: border-box; display: inline; font-stretch: inherit; line-height: inherit; margin: 0px; padding: 0px; word-wrap: break-word; min-width: 0px; caret-color: rgb(15, 20, 25); font-size: 15px; white-space: pre-wrap;"><font color="#0f1419" face="-apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica, Arial, sans-serif" class=""><br class=""></font></span></div><div class=""><span class="css-16my406 r-qvutc0 r-poiln3 css-901oao r-bcqeeo" style="border: 0px solid black; box-sizing: border-box; display: inline; font-stretch: inherit; line-height: inherit; margin: 0px; padding: 0px; word-wrap: break-word; min-width: 0px; caret-color: rgb(15, 20, 25); font-size: 15px; white-space: pre-wrap;"><font color="#0f1419" face="-apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica, Arial, sans-serif" class="">Elaine says:</font></span></div><div class=""><span class="css-16my406 r-qvutc0 r-poiln3 css-901oao r-bcqeeo" style="border: 0px solid black; box-sizing: border-box; display: inline; font-stretch: inherit; line-height: inherit; margin: 0px; padding: 0px; word-wrap: break-word; min-width: 0px; caret-color: rgb(15, 20, 25); font-size: 15px; white-space: pre-wrap;"><font color="#0f1419" face="-apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica, Arial, sans-serif" class=""><br class=""></font></span></div><div class=""><span class="css-16my406 r-qvutc0 r-poiln3 css-901oao r-bcqeeo" style="border: 0px solid black; box-sizing: border-box; display: inline; font-stretch: inherit; line-height: inherit; margin: 0px; padding: 0px; word-wrap: break-word; min-width: 0px; caret-color: rgb(15, 20, 25); white-space: pre-wrap; font-size: 15px;"><span style="caret-color: rgb(0, 0, 0); white-space: normal;" class="">There isn't an "add amino acid" yet in ChimeraX, only Chimera.... unless ISOLDE can do it (I don't know). So maybe it's an ISOLDE question.</span><br style="caret-color: rgb(0, 0, 0); white-space: normal;" class=""><br style="caret-color: rgb(0, 0, 0); white-space: normal;" class=""><span style="caret-color: rgb(0, 0, 0); white-space: normal;" class="">ChimeraX itself has building peptides from scratch but not sticking them on to the end of an existing peptide.</span><br style="caret-color: rgb(0, 0, 0); white-space: normal;" class=""><br style="caret-color: rgb(0, 0, 0); white-space: normal;" class=""><span style="caret-color: rgb(0, 0, 0); white-space: normal;" class="">Build Structure, Start Structure: peptide</span><br style="caret-color: rgb(0, 0, 0); white-space: normal;" class=""><span style="caret-color: rgb(0, 0, 0); white-space: normal;" class=""><</span><a href="https://rbvi.ucsf.edu/chimerax/docs/user/tools/buildstructure.html#start" style="white-space: normal;" class="">https://rbvi.ucsf.edu/chimerax/docs/user/tools/buildstructure.html#start</a><span style="caret-color: rgb(0, 0, 0); white-space: normal;" class="">></span><br style="caret-color: rgb(0, 0, 0); white-space: normal;" class=""><br style="caret-color: rgb(0, 0, 0); white-space: normal;" class=""><span style="caret-color: rgb(0, 0, 0); white-space: normal;" class="">or command "build start peptide"</span><br style="caret-color: rgb(0, 0, 0); white-space: normal;" class=""><span style="caret-color: rgb(0, 0, 0); white-space: normal;" class=""><</span><a href="https://rbvi.ucsf.edu/chimerax/docs/user/commands/build.html#start" style="white-space: normal;" class="">https://rbvi.ucsf.edu/chimerax/docs/user/commands/build.html#start</a><span style="caret-color: rgb(0, 0, 0); white-space: normal;" class="">></span><br style="caret-color: rgb(0, 0, 0); white-space: normal;" class=""><br style="caret-color: rgb(0, 0, 0); white-space: normal;" class=""><span style="caret-color: rgb(0, 0, 0); white-space: normal;" class="">Elaine</span></span></div></div></div></blockquote></div><br class=""></div></div></body></html>