<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=""><div><blockquote type="cite" class=""><div class="">On Nov 27, 2019, at 1:07 PM, Elaine Meng <<a href="mailto:meng@cgl.ucsf.edu" class="">meng@cgl.ucsf.edu</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div class="" style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;">Python is beyond my skill set, though… somebody else would have to advise on that.</div></div></blockquote></div><div><br class=""></div><div>The first thing I should say is that Multalign Viewer is only available as a graphical tool, so you will only be able to script this for a Chimera that is running its graphical interface, not in any headless “batch” mode.  Okay, with that out of the way, the first job is to get a Python instance of Multalign Viewer showing the sequence you want with the chains you want associated.  Unlike ChimeraX, which associates on a per-chain basis, Chimera associates on a per-structure basis, so you will have to first split your structure apart by chains (with the “split” command).  If you have the pertinent sequence in a file, you could do this:</div><div><br class=""></div><div><span class="Apple-tab-span" style="white-space:pre"> </span>from MultAlignViewer.MAViewer import MAViewer</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>mav = MAViewer(“full-path-to-sequence-file”)</div><div><br class=""></div><div>If you don’t have a file, but you know you want to use the sequence of chain C, you could do this:</div><div><br class=""></div><div><span class="Apple-tab-span" style="white-space:pre">  </span>from chimera import openModels, Molecule</div><div><span class="Apple-tab-span" style="white-space:pre">     </span>for m in openModels.list(modelTypes=[Molecule]):</div><div><span class="Apple-tab-span" style="white-space:pre">             </span>try:</div><div><span class="Apple-tab-span" style="white-space:pre">                 </span>seq = m.sequence(‘C’)</div><div><span class="Apple-tab-span" style="white-space:pre">            </span>except KeyError:</div><div><span class="Apple-tab-span" style="white-space:pre">                     </span>continue</div><div><span class="Apple-tab-span" style="white-space:pre">     </span>from MultAlignViewer.MAViewer import MAViewer</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>mav = MAViewer([seq])</div><div><br class=""></div><div>You then add your custom header file with:</div><div><br class=""></div><div><span class="Apple-tab-span" style="white-space:pre">       </span>mav.readHeaderFile(“full-path-to-header-file”)</div><div><br class=""></div><div>After that, the residues will have the necessary attribute (prefixed with “mav”, so if the header attribute is ChouFasmanImmuno, the residue attribute is mavChouFasmanImmuno).</div><div><br class=""></div><div>—Eric</div><div class=""><div class=""><div class=""><span class="Apple-tab-span" style="white-space: pre;"><br class="Apple-interchange-newline">    </span>Eric Pettersen</div><div class=""><span class="Apple-tab-span" style="white-space: pre;">  </span>UCSF Computer Graphics Lab</div><div class=""><br class=""></div><br class="Apple-interchange-newline"></div><br class=""><div><blockquote type="cite" class=""></blockquote></div></div></body></html>