<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} </style>
</head>
<body dir="ltr">
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Katie,</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<ol>
<li><span>I don't know</span></li><li><span>Yes, I've done this in my SEQCROW bundle. It'll probably depend on how you can organize the code. You can see my code here (sorry it doesn't have many annotations):
<a href="https://github.com/QChASM/SEQCROW/blob/5a5d00f2d6368a68dca8abcb7e816b7ac1202d0b/src/selectors.py#L21" id="LPNoLPOWALinkPreview">
https://github.com/QChASM/SEQCROW/blob/5a5d00f2d6368a68dca8abcb7e816b7ac1202d0b/src/selectors.py#L21</a>.
<br>
<br>
Basically, calling register_selector from chimerax.core.commands will add a new selector. I pass a lambda function with different default values for a keyword argument to register_selector. The behavior of the function in the lambda changes based on the value
 of this keyword argument. I do this to register the selectors for substituents, atoms with a particular VSEPR shape, and a few other identifiers.<br>
</span></li><li><span>Open-source bundles have a green keyhole symbol at the top of their bundle page. Clicking that should take you to the code repository on GitHub or wherever.
<br>
<br>
The install folder depends on your operating system. On Windows, it's in %userprofile%\AppData\Local\UCSF\ChimeraX\(version)\site-packages</span></li></ol>
<div>Best,</div>
<div><br>
</div>
<div>Tony<br>
</div>
<ol start="4">
<li style="display:block">
<div class="_Entity _EType_OWALinkPreview _EId_OWALinkPreview _EReadonly_1"></div>
</li><li style="display:block"><br>
</li></ol>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div id="appendonsend"></div>
<hr style="display:inline-block;width:98%" tabindex="-1">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" style="font-size:11pt" color="#000000"><b>From:</b> ChimeraX-users <chimerax-users-bounces@cgl.ucsf.edu> on behalf of Zeng, Katie via ChimeraX-users <chimerax-users@cgl.ucsf.edu><br>
<b>Sent:</b> Tuesday, February 1, 2022 1:21 PM<br>
<b>To:</b> ChimeraX Users Help <chimerax-users@cgl.ucsf.edu><br>
<b>Subject:</b> [chimerax-users] Building ChimeraX Bundle</font>
<div> </div>
</div>
<style type="text/css" style="display:none">
<!--
p
        {margin-top:0;
        margin-bottom:0}
-->
</style>
<div dir="ltr"><font color="BA0C2F">[EXTERNAL SENDER - PROCEED CAUTIOUSLY]</font><br>
<br>
<div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
Dear ChimeraX Users,</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<br>
</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
I'm currently working on a bundle for building lipid membranes and I have a few questions:</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<br>
</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<ol>
<li><span>A part of my bundle is a lipid selector that works with AMBER-compatible pdb files. I followed the tutorial and have successfully built a selector that selects all lipids of the type I specify (say, I put in the command line 'sel POPC' then all the
 POPCs in the membrane get highlighted). Because of the way AMBER lipid forcefields work, individual lipids are separated into three residues, one head and two tails. I'm trying to add a function to my bundle such that individual lipids can be selected - e.g.
 when I select a headgroup and go [up]+[up], then the entire lipid can be selected. How can I group three residues together in a bundle?</span></li><li><span>Is it possible to register multiple selectors through a single function? There are many lipids that I want to include in the selector, but for now I have to copy the same function over and over if I want to do that. It will be great if I could have
 a list containing all the names of the lipids and have a function that registers all of them.</span></li><li><span>Are there any built bundles that are open source? I tried to access the source code of bundles after installing them but I couldn't find the directory of which they are stored. It will be really helpful if I could refer to them.</span></li></ol>
<div><span>Thank you so much for your help!</span></div>
<div><span><br>
</span></div>
</div>
<div>
<div id="x_Signature">
<div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
Best Regards,</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
Katie</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>