<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.pymol.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=EzequielPanepucci</id>
	<title>PyMOL Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.pymol.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=EzequielPanepucci"/>
	<link rel="alternate" type="text/html" href="https://wiki.pymol.org/index.php/Special:Contributions/EzequielPanepucci"/>
	<updated>2026-04-30T11:35:35Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.35.1</generator>
	<entry>
		<id>https://wiki.pymol.org/index.php?title=Grepset&amp;diff=13888</id>
		<title>Grepset</title>
		<link rel="alternate" type="text/html" href="https://wiki.pymol.org/index.php?title=Grepset&amp;diff=13888"/>
		<updated>2009-11-05T09:35:37Z</updated>

		<summary type="html">&lt;p&gt;EzequielPanepucci: Modified script to format output according to max length of matched settings.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Use this little script to explore PyMOL's myriad settings.&lt;br /&gt;
&lt;br /&gt;
Usefull for newbies and those with not so good memory skills...&lt;br /&gt;
&lt;br /&gt;
To use:&lt;br /&gt;
&lt;br /&gt;
# put the script in a file called '''grepset.py'''&lt;br /&gt;
# from within PyMOL execute '''run grepset.py'''&lt;br /&gt;
# try it out, see examples below.&lt;br /&gt;
&lt;br /&gt;
Example 1: '''grepset light'''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cartoon_highlight_color        default&lt;br /&gt;
dot_lighting                   on&lt;br /&gt;
light                          [ -0.40000, -0.40000, -1.00000 ]&lt;br /&gt;
mesh_lighting                  off&lt;br /&gt;
two_sided_lighting             off&lt;br /&gt;
5 settings matched&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example 2: '''grepset trans'''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cartoon_transparency           0.00000&lt;br /&gt;
ray_transparency_contrast      1.00000&lt;br /&gt;
ray_transparency_shadows       1&lt;br /&gt;
ray_transparency_spec_cut      0.90000&lt;br /&gt;
ray_transparency_specular      0.40000&lt;br /&gt;
sphere_transparency            0.00000&lt;br /&gt;
stick_transparency             0.00000&lt;br /&gt;
transparency                   0.00000&lt;br /&gt;
transparency_mode              2&lt;br /&gt;
transparency_picking_mode      2&lt;br /&gt;
10 settings matched&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example 3: '''grepset ^trans'''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
transparency                   0.00000&lt;br /&gt;
transparency_mode              2&lt;br /&gt;
transparency_picking_mode      2&lt;br /&gt;
3 settings matched&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== The Script itself: grepset.py ==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
from pymol import cmd&lt;br /&gt;
import re&lt;br /&gt;
import pymol.setting&lt;br /&gt;
&lt;br /&gt;
def grepset(regexp=''):&lt;br /&gt;
    '''&lt;br /&gt;
DESCRIPTION&lt;br /&gt;
    &amp;quot;grepset&amp;quot; greps through the list of settings using a python&lt;br /&gt;
    regular expression as defined in the 're' module.&lt;br /&gt;
    It returns a list of settings/values matching the regexp.&lt;br /&gt;
    No regexp returns every setting.&lt;br /&gt;
&lt;br /&gt;
USAGE&lt;br /&gt;
    grepset [regexp]&lt;br /&gt;
&lt;br /&gt;
EXAMPLE&lt;br /&gt;
    grepset line&lt;br /&gt;
    grepset ray&lt;br /&gt;
    grepset (^line|color$)&lt;br /&gt;
&lt;br /&gt;
SEE ALSO&lt;br /&gt;
	Python re module&lt;br /&gt;
    '''&lt;br /&gt;
&lt;br /&gt;
    count = 0&lt;br /&gt;
    regexp = re.compile(regexp)&lt;br /&gt;
    matches = []&lt;br /&gt;
    for a in pymol.setting.get_index_list():&lt;br /&gt;
        setting = pymol.setting._get_name(a)&lt;br /&gt;
        if regexp.search(setting):&lt;br /&gt;
            count += 1&lt;br /&gt;
            matches.append( (setting, cmd.get_setting_text(a, '', -1)) )&lt;br /&gt;
    # max length of the setting names that matched&lt;br /&gt;
    maxlen = max([len(s[0]) for s in matches])&lt;br /&gt;
    fmt = &amp;quot;%%-%ds : %%s&amp;quot; % (maxlen,)&lt;br /&gt;
    for setting in matches:&lt;br /&gt;
        print fmt % setting&lt;br /&gt;
    print '%d settings matched' % (count,)&lt;br /&gt;
    cmd.set('text', 1)&lt;br /&gt;
cmd.extend('grepset', grepset)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Author: Ezequiel (Zac) Panepucci''&lt;br /&gt;
&lt;br /&gt;
[[Category:Script_Library|Grepset]]&lt;br /&gt;
[[Category:UI_Scripts]]&lt;/div&gt;</summary>
		<author><name>EzequielPanepucci</name></author>
	</entry>
</feed>