<?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=Olivier%27s_way_of_computing_novelty</id>
	<title>Olivier&#039;s way of computing novelty - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.docking.org/index.php?action=history&amp;feed=atom&amp;title=Olivier%27s_way_of_computing_novelty"/>
	<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=Olivier%27s_way_of_computing_novelty&amp;action=history"/>
	<updated>2026-05-13T01:32:40Z</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=Olivier%27s_way_of_computing_novelty&amp;diff=15542&amp;oldid=prev</id>
		<title>Omailhot at 20:10, 22 September 2023</title>
		<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=Olivier%27s_way_of_computing_novelty&amp;diff=15542&amp;oldid=prev"/>
		<updated>2023-09-22T20:10:46Z</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 20:10, 22 September 2023&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-l28&quot;&gt;Line 28:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 28:&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;br/&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;br/&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;  get_novelty(&amp;#039;chembl.smi&amp;#039;, &amp;#039;your_mols.smi&amp;#039;, &amp;#039;novelty.txt&amp;#039;, threshold=0.35)&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;  get_novelty(&amp;#039;chembl.smi&amp;#039;, &amp;#039;your_mols.smi&amp;#039;, &amp;#039;novelty.txt&amp;#039;, threshold=0.35)&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;&#039;&#039;&#039;Note:&#039;&#039;&#039;&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;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;There are intermediary files created with the &#039;.fp&#039; file extension. If RDKit fails to read some of your input SMILES, delete all .fp files before rerunning.&lt;/ins&gt;&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;br/&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;br/&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;#039;&amp;#039;&amp;#039;Step 3: ultimate laziness&amp;#039;&amp;#039;&amp;#039;&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;#039;&amp;#039;&amp;#039;Step 3: ultimate laziness&amp;#039;&amp;#039;&amp;#039;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key wikidb:diff::1.12:old-15532:rev-15542 --&gt;
&lt;/table&gt;</summary>
		<author><name>Omailhot</name></author>
	</entry>
	<entry>
		<id>http://wiki.docking.org/index.php?title=Olivier%27s_way_of_computing_novelty&amp;diff=15532&amp;oldid=prev</id>
		<title>Omailhot at 01:12, 21 September 2023</title>
		<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=Olivier%27s_way_of_computing_novelty&amp;diff=15532&amp;oldid=prev"/>
		<updated>2023-09-21T01:12:03Z</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 01:12, 21 September 2023&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-l11&quot;&gt;Line 11:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 11:&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;#039;&amp;#039;&amp;#039;Step 1: get all knowns from ChEMBL&amp;#039;&amp;#039;&amp;#039;&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;#039;&amp;#039;&amp;#039;Step 1: get all knowns from ChEMBL&amp;#039;&amp;#039;&amp;#039;&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;br/&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;br/&gt;&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;Here we don&amp;#039;t really care about properties, drug-likeness etc. So just &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;got &lt;/del&gt;to your target on ChEMBL, grab the version with the highest number of compounds, and click on the number of associated compounds to view the list of them (no activity data). Then, download as csv. Unzip the file and rename it to what you want, we will call it chembl.csv here. Now to generate a .smi file from this, simply use:&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;Here we don&amp;#039;t really care about properties, drug-likeness etc. So just &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;go &lt;/ins&gt;to your target on ChEMBL, grab the version with the highest number of compounds, and click on the number of associated compounds to view the list of them (no activity data). Then, download as csv. Unzip the file and rename it to what you want, we will call it chembl.csv here. Now to generate a .smi file from this, simply use:&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;br/&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;br/&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;  from bksltk.utils import write_smiles_from_chembl&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;  from bksltk.utils import write_smiles_from_chembl&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Omailhot</name></author>
	</entry>
	<entry>
		<id>http://wiki.docking.org/index.php?title=Olivier%27s_way_of_computing_novelty&amp;diff=15531&amp;oldid=prev</id>
		<title>Omailhot: Created page with &quot;This is my lazy way of doing novelty calculations.  &#039;&#039;&#039;Step 0: source my environment&#039;&#039;&#039;  All I&#039;m developing is part of a single Python package called bksltk (BKS-lab Toolkit). So just source my Python environment on gimel2 (or other gimelX which has Python3) and you&#039;ll have access to everything:    source /nfs/home/omailhot/pyenv_source.sh  Eventually the package will be better documented (and probably integrated into pydock).  &#039;&#039;&#039;Step 1: get all knowns from ChEMBL&#039;&#039;&#039;  H...&quot;</title>
		<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=Olivier%27s_way_of_computing_novelty&amp;diff=15531&amp;oldid=prev"/>
		<updated>2023-09-20T21:42:02Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;This is my lazy way of doing novelty calculations.  &amp;#039;&amp;#039;&amp;#039;Step 0: source my environment&amp;#039;&amp;#039;&amp;#039;  All I&amp;#039;m developing is part of a single Python package called bksltk (BKS-lab Toolkit). So just source my Python environment on gimel2 (or other gimelX which has Python3) and you&amp;#039;ll have access to everything:    source /nfs/home/omailhot/pyenv_source.sh  Eventually the package will be better documented (and probably integrated into pydock).  &amp;#039;&amp;#039;&amp;#039;Step 1: get all knowns from ChEMBL&amp;#039;&amp;#039;&amp;#039;  H...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;This is my lazy way of doing novelty calculations.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Step 0: source my environment&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
All I&amp;#039;m developing is part of a single Python package called bksltk (BKS-lab Toolkit). So just source my Python environment on gimel2 (or other gimelX which has Python3) and you&amp;#039;ll have access to everything:&lt;br /&gt;
 &lt;br /&gt;
 source /nfs/home/omailhot/pyenv_source.sh&lt;br /&gt;
&lt;br /&gt;
Eventually the package will be better documented (and probably integrated into pydock).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Step 1: get all knowns from ChEMBL&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Here we don&amp;#039;t really care about properties, drug-likeness etc. So just got to your target on ChEMBL, grab the version with the highest number of compounds, and click on the number of associated compounds to view the list of them (no activity data). Then, download as csv. Unzip the file and rename it to what you want, we will call it chembl.csv here. Now to generate a .smi file from this, simply use:&lt;br /&gt;
&lt;br /&gt;
 from bksltk.utils import write_smiles_from_chembl&lt;br /&gt;
 &lt;br /&gt;
 write_smiles_from_chembl(&amp;#039;chembl.csv&amp;#039;, &amp;#039;chembl.smi&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Step 2: compute novelty&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
You will also need your list of molecules, as a &amp;quot;.smi&amp;quot; file which is basically just a text file, without any header, and with whitespace-separated data of which the first column is the SMILES strings of your compound. The second column should be an identifier. Look at the &amp;#039;chembl.smi&amp;#039; file if you are confused. Then, to get a dataframe of the maximum similarities to any of your knowns, simply do:&lt;br /&gt;
&lt;br /&gt;
 from bksltk.utils import get_novelty&lt;br /&gt;
 &lt;br /&gt;
 get_novelty(&amp;#039;chembl.smi&amp;#039;, &amp;#039;your_mols.smi&amp;#039;, &amp;#039;novelty.txt&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
This will write all the maximum Tcs to the &amp;#039;novelty.txt&amp;#039; file. Alternatively, you can give a Tc threshold and only molecules less similar than the threshold will be written out:&lt;br /&gt;
&lt;br /&gt;
 get_novelty(&amp;#039;chembl.smi&amp;#039;, &amp;#039;your_mols.smi&amp;#039;, &amp;#039;novelty.txt&amp;#039;, threshold=0.35)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Step 3: ultimate laziness&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Combine these in a single script:&lt;br /&gt;
&lt;br /&gt;
 from bksltk.utils import write_smiles_chembl, get_novelty&lt;br /&gt;
 &lt;br /&gt;
 write_smiles_chembl(&amp;#039;chembl.csv&amp;#039;, &amp;#039;chembl.smi&amp;#039;)&lt;br /&gt;
 get_novelty(&amp;#039;chembl.smi&amp;#039;, &amp;#039;your_mols.smi&amp;#039;, &amp;#039;novelty.txt&amp;#039;, threshold=your_threshold)&lt;/div&gt;</summary>
		<author><name>Omailhot</name></author>
	</entry>
</feed>