<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://wiki.docking.org/index.php?action=history&amp;feed=atom&amp;title=Rdkit_hlogp_batch.py</id>
	<title>Rdkit hlogp batch.py - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.docking.org/index.php?action=history&amp;feed=atom&amp;title=Rdkit_hlogp_batch.py"/>
	<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=Rdkit_hlogp_batch.py&amp;action=history"/>
	<updated>2026-04-05T03:27:10Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.39.1</generator>
	<entry>
		<id>http://wiki.docking.org/index.php?title=Rdkit_hlogp_batch.py&amp;diff=15796&amp;oldid=prev</id>
		<title>Frodo: asdf</title>
		<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=Rdkit_hlogp_batch.py&amp;diff=15796&amp;oldid=prev"/>
		<updated>2024-05-02T18:11:53Z</updated>

		<summary type="html">&lt;p&gt;asdf&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 18:11, 2 May 2024&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l87&quot;&gt;Line 87:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 87:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;                     category_file.write(&amp;#039;{0}&amp;#039;.format(entry))&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;                     category_file.write(&amp;#039;{0}&amp;#039;.format(entry))&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Category:Curator]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Category:Tranches]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Category:ZINC22]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key wikidb:diff::1.12:old-12447:rev-15796 --&gt;
&lt;/table&gt;</summary>
		<author><name>Frodo</name></author>
	</entry>
	<entry>
		<id>http://wiki.docking.org/index.php?title=Rdkit_hlogp_batch.py&amp;diff=12447&amp;oldid=prev</id>
		<title>Jyoung at 19:15, 15 April 2020</title>
		<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=Rdkit_hlogp_batch.py&amp;diff=12447&amp;oldid=prev"/>
		<updated>2020-04-15T19:15:41Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 19:15, 15 April 2020&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;pre&amp;gt;from __future__ import print_function&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;###########################&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;# Written by Jennifer Young            &lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;# Last revised April 2020                &lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;# Version 1.0                                    &lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;###########################&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;from __future__ import print_function&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;import pdb&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;import pdb&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;import itertools&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;import itertools&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key wikidb:diff::1.12:old-12442:rev-12447 --&gt;
&lt;/table&gt;</summary>
		<author><name>Jyoung</name></author>
	</entry>
	<entry>
		<id>http://wiki.docking.org/index.php?title=Rdkit_hlogp_batch.py&amp;diff=12442&amp;oldid=prev</id>
		<title>Frodo: asdf</title>
		<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=Rdkit_hlogp_batch.py&amp;diff=12442&amp;oldid=prev"/>
		<updated>2020-04-15T16:58:46Z</updated>

		<summary type="html">&lt;p&gt;asdf&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;pre&amp;gt;from __future__ import print_function&lt;br /&gt;
import pdb&lt;br /&gt;
import itertools&lt;br /&gt;
import sys&lt;br /&gt;
import shlex&lt;br /&gt;
import subprocess&lt;br /&gt;
&lt;br /&gt;
from rdkit.Chem import (&lt;br /&gt;
            MolFromSmiles,&lt;br /&gt;
            MolToSmiles,&lt;br /&gt;
            AddHs,&lt;br /&gt;
)&lt;br /&gt;
&lt;br /&gt;
from rdkit.Chem.SaltRemover import (&lt;br /&gt;
            SaltRemover&lt;br /&gt;
)&lt;br /&gt;
&lt;br /&gt;
from rdkit.Chem.Descriptors import MolLogP, MolWt&lt;br /&gt;
&lt;br /&gt;
def scale_logp_value(logp):&lt;br /&gt;
    if logp &amp;lt; -9.0:&lt;br /&gt;
        logp = -9.0&lt;br /&gt;
    elif logp &amp;gt; 9.0:&lt;br /&gt;
        logp = 9.0&lt;br /&gt;
    elif logp &amp;lt; 0 or logp &amp;gt;= 5.0:&lt;br /&gt;
        logp = 100*int(logp)&lt;br /&gt;
    elif logp &amp;gt;= 0.0 or logp &amp;lt; 1:&lt;br /&gt;
        logp = 10*int(10*logp)&lt;br /&gt;
    elif logp &amp;gt;= 1.0 or logp &amp;lt; 4:&lt;br /&gt;
        logp = int(100*logp)&lt;br /&gt;
    elif logp &amp;gt;=4 or logp &amp;lt; 5:&lt;br /&gt;
        logp = 10*int(10*logp)&lt;br /&gt;
    return logp&lt;br /&gt;
&lt;br /&gt;
if __name__ == &amp;#039;__main__&amp;#039;:&lt;br /&gt;
    if len(sys.argv) != 3:&lt;br /&gt;
        print(&amp;#039;Usage: python rdkit_hlogp_batch.py &amp;lt;smiles&amp;gt; &amp;lt;batch_size&amp;gt;&amp;#039;)&lt;br /&gt;
        exit()&lt;br /&gt;
&lt;br /&gt;
    BATCH_SIZE = int(sys.argv[2])&lt;br /&gt;
    hlogp_list = list()&lt;br /&gt;
    with open(sys.argv[1]) as smiles_file:&lt;br /&gt;
        file_lines = smiles_file.readlines()&lt;br /&gt;
        for line in file_lines:&lt;br /&gt;
            if line.strip():&lt;br /&gt;
                smiles, cid = str(line).strip().split()[:2]&lt;br /&gt;
                mol = MolFromSmiles(smiles)&lt;br /&gt;
                remover = SaltRemover()&lt;br /&gt;
                res, deleted = remover.StripMolWithDeleted(mol)&lt;br /&gt;
                if res is not None:&lt;br /&gt;
                    res.SetProp(&amp;#039;_Name&amp;#039;, cid)&lt;br /&gt;
                logp = MolLogP(res)&lt;br /&gt;
                num_heavy_atoms = res.GetNumHeavyAtoms()&lt;br /&gt;
                if num_heavy_atoms &amp;gt; 99:&lt;br /&gt;
                    num_heavy_atoms = 99&lt;br /&gt;
                scaled_logp = scale_logp_value(logp)&lt;br /&gt;
                if logp &amp;lt; 0.0:&lt;br /&gt;
                    sign = &amp;#039;M&amp;#039;&lt;br /&gt;
                    #remove the minus sign so it&amp;#039;s not printed&lt;br /&gt;
                    scaled_logp = scaled_logp * -1&lt;br /&gt;
                else:&lt;br /&gt;
                    sign = &amp;#039;P&amp;#039;&lt;br /&gt;
                key_string = &amp;#039;H{:02}{}{:03}&amp;#039;.format(num_heavy_atoms, sign, scaled_logp)&lt;br /&gt;
&lt;br /&gt;
                #store in list up to batch size, then write out to new file&lt;br /&gt;
                final_string = &amp;#039;{0} {1} {2}\n&amp;#039;.format(smiles, cid, key_string)&lt;br /&gt;
                hlogp_list.append(final_string)&lt;br /&gt;
&lt;br /&gt;
                #write the key string to the file&lt;br /&gt;
                if len(hlogp_list) &amp;gt;= BATCH_SIZE:&lt;br /&gt;
                    with open(&amp;#039;{0}_hlogp&amp;#039;.format(sys.argv[1]), &amp;#039;a+&amp;#039;) as category_file:&lt;br /&gt;
                        for entry in hlogp_list:&lt;br /&gt;
                            category_file.write(&amp;#039;{0}&amp;#039;.format(entry))&lt;br /&gt;
                    #clear list because we already wrote these&lt;br /&gt;
                    hlogp_list = list()&lt;br /&gt;
    #write remaining molecules to file&lt;br /&gt;
    for entry in hlogp_list:&lt;br /&gt;
        with open(&amp;#039;{0}_hlogp&amp;#039;.format(sys.argv[1]), &amp;#039;a+&amp;#039;) as category_file:&lt;br /&gt;
                for entry in hlogp_list:&lt;br /&gt;
                    category_file.write(&amp;#039;{0}&amp;#039;.format(entry))&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Frodo</name></author>
	</entry>
</feed>