<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://wiki.docking.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Omailhot</id>
	<title>DISI - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.docking.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Omailhot"/>
	<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=Special:Contributions/Omailhot"/>
	<updated>2026-05-24T10:58:50Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.1</generator>
	<entry>
		<id>http://wiki.docking.org/index.php?title=Small_change_analogs&amp;diff=16486</id>
		<title>Small change analogs</title>
		<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=Small_change_analogs&amp;diff=16486"/>
		<updated>2024-12-11T22:55:36Z</updated>

		<summary type="html">&lt;p&gt;Omailhot: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Step 0: source my environment&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
 &lt;br /&gt;
 source /nfs/home/omailhot/pyenv_source.sh&lt;br /&gt;
&lt;br /&gt;
Then, you can use the get_all_analogs_smiles_set() method from the toolkit, which will return all smiles of small change analogs, starting from a single smiles string:&lt;br /&gt;
&lt;br /&gt;
 from bksltk.analogs import get_all_analogs_smiles_set&lt;br /&gt;
 &lt;br /&gt;
 all_analogs_smiles = get_all_analogs_smiles_set(&#039;YOUR_SMILES&#039;)&lt;br /&gt;
&lt;br /&gt;
If you want to do multiple smiles, just call the function for each one :-)&lt;br /&gt;
&lt;br /&gt;
These are the small changes considered: H-&amp;gt;CH3, H-&amp;gt;OH, H-&amp;gt;F, H-&amp;gt;Cl, H-&amp;gt;Br, aryl carbon to nitrogen, aromatic nitrogen to carbon.&lt;br /&gt;
&lt;br /&gt;
To generate a single .csv file of all small change analogs (that you can send directly to Enamine for a quote) from a .smi file, do this:&lt;br /&gt;
&lt;br /&gt;
 from bksltk.analogs import get_csv_analogs&lt;br /&gt;
 &lt;br /&gt;
 get_csv_analogs(&#039;your_input.smi&#039;, &#039;your_output.csv&#039;)&lt;/div&gt;</summary>
		<author><name>Omailhot</name></author>
	</entry>
	<entry>
		<id>http://wiki.docking.org/index.php?title=Small_change_analogs&amp;diff=16478</id>
		<title>Small change analogs</title>
		<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=Small_change_analogs&amp;diff=16478"/>
		<updated>2024-12-06T21:57:47Z</updated>

		<summary type="html">&lt;p&gt;Omailhot: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Step 0: source my environment&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
 &lt;br /&gt;
 source /nfs/home/omailhot/pyenv_source.sh&lt;br /&gt;
&lt;br /&gt;
Then, you can use the get_all_analogs_smiles_set() method from the toolkit, which will return all smiles of small change analogs, starting from a single smiles string:&lt;br /&gt;
&lt;br /&gt;
 from bksltk.analogs import get_all_analogs_smiles_set&lt;br /&gt;
&lt;br /&gt;
 all_analogs_smiles = get_all_analogs_smiles_set(&#039;YOUR_SMILES&#039;)&lt;br /&gt;
&lt;br /&gt;
If you want to do multiple smiles, just call the function for each one :-)&lt;br /&gt;
&lt;br /&gt;
These are the small changes considered: H-&amp;gt;CH3, H-&amp;gt;OH, H-&amp;gt;F, H-&amp;gt;Cl, H-&amp;gt;Br, aryl carbon to nitrogen, aromatic nitrogen to carbon.&lt;/div&gt;</summary>
		<author><name>Omailhot</name></author>
	</entry>
	<entry>
		<id>http://wiki.docking.org/index.php?title=Small_change_analogs&amp;diff=16477</id>
		<title>Small change analogs</title>
		<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=Small_change_analogs&amp;diff=16477"/>
		<updated>2024-12-06T21:55:37Z</updated>

		<summary type="html">&lt;p&gt;Omailhot: Created page with &amp;quot;&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  Then, you can use the get_all_analogs_smiles_set() method from the toolkit, which will return all smiles of small change analogs, starting from a single smiles string:   from bksltk.an...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Step 0: source my environment&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
 &lt;br /&gt;
 source /nfs/home/omailhot/pyenv_source.sh&lt;br /&gt;
&lt;br /&gt;
Then, you can use the get_all_analogs_smiles_set() method from the toolkit, which will return all smiles of small change analogs, starting from a single smiles string:&lt;br /&gt;
&lt;br /&gt;
 from bksltk.analogs import get_all_analogs_smiles_set&lt;br /&gt;
&lt;br /&gt;
 all_analogs_smiles = get_all_analogs_smiles_set(&#039;YOUR_SMILES&#039;)&lt;br /&gt;
&lt;br /&gt;
If you want to do multiple smiles, just call the function for each one :-)&lt;/div&gt;</summary>
		<author><name>Omailhot</name></author>
	</entry>
	<entry>
		<id>http://wiki.docking.org/index.php?title=Combinatorial_analogs&amp;diff=16474</id>
		<title>Combinatorial analogs</title>
		<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=Combinatorial_analogs&amp;diff=16474"/>
		<updated>2024-12-03T21:02:53Z</updated>

		<summary type="html">&lt;p&gt;Omailhot: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here&#039;s an example of how to generate combinatorial analogs from the same parent. Make sure to source my environment first:&lt;br /&gt;
&lt;br /&gt;
 source /nfs/home/omailhot/pyenv_source.sh&lt;br /&gt;
&lt;br /&gt;
Then, you will want to create a .png file of your parent with standard numbering on it. We&#039;ll use etomidate in this example:&lt;br /&gt;
&lt;br /&gt;
 from bksltk.analogs import write_numbered_parent_png, make_analogs_combinations&lt;br /&gt;
&lt;br /&gt;
 eto_smiles = &#039;CCOC(=O)C1=CN=CN1[C@H](C)C2=CC=CC=C2&#039;&lt;br /&gt;
 write_numbered_parent_png(eto_smiles, &#039;test_parent.png&#039;)&lt;br /&gt;
&lt;br /&gt;
Look at the .png, and figure out where your modifications lie. Then, you&#039;ll create a &amp;quot;modification dictionary&amp;quot; that will be used for combinatorial generation of analogs. In this example, carbon 0 can get a hydroxyl, fluorine or methyl attached, carbons 6 and 14 can get methylated, carbon 15 can get replaced with an aromatic nitrogen or get hydroxylated, and carbon 16 can get hydroxylated. The n_combinations_list specifies how many modifications should be combined in the kept analogs. In this example, analogs that are combining 2, 3 or 4 modifications will be enumerated. The output_filename will generate a both .png and a .csv file with the enumerated analogs.&lt;br /&gt;
&lt;br /&gt;
 modifications_dict = {0: [&#039;O&#039;, &#039;F&#039;, &#039;C&#039;],&lt;br /&gt;
                       6: [&#039;C&#039;],&lt;br /&gt;
                       14: [&#039;C&#039;],&lt;br /&gt;
                       15: [&#039;N&#039;, &#039;O&#039;],&lt;br /&gt;
                       16: [&#039;O&#039;]}&lt;br /&gt;
 eto_smiles = &#039;CCOC(=O)C1=CN=CN1[C@H](C)C2=CC=CC=C2&#039;&lt;br /&gt;
 n_combinations_list = [2, 3, 4]&lt;br /&gt;
 output_filename = &#039;eto_combined_analogs&#039;&lt;br /&gt;
 make_analogs_combinations(modifications_dict, eto_smiles, n_combinations_list, output_filename)&lt;/div&gt;</summary>
		<author><name>Omailhot</name></author>
	</entry>
	<entry>
		<id>http://wiki.docking.org/index.php?title=Combinatorial_analogs&amp;diff=16459</id>
		<title>Combinatorial analogs</title>
		<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=Combinatorial_analogs&amp;diff=16459"/>
		<updated>2024-11-26T19:45:12Z</updated>

		<summary type="html">&lt;p&gt;Omailhot: Created page with &amp;quot;Here&amp;#039;s an example of how to generate combinatorial analogs from the same parent. Make sure to source my environment first:   source /nfs/home/omailhot/pyenv_source.sh  Then, you will want to create a .png file of your parent with standard numbering on it. We&amp;#039;ll use etomidate in this example:   from bksltk.analogs import write_numbered_parent_png, make_analogs_combinations   eto_smiles = &amp;#039;CCOC(=O)C1=CN=CN1[C@H](C)C2=CC=CC=C2&amp;#039;  write_numbered_parent_png(eto_smiles, &amp;#039;test_p...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here&#039;s an example of how to generate combinatorial analogs from the same parent. Make sure to source my environment first:&lt;br /&gt;
&lt;br /&gt;
 source /nfs/home/omailhot/pyenv_source.sh&lt;br /&gt;
&lt;br /&gt;
Then, you will want to create a .png file of your parent with standard numbering on it. We&#039;ll use etomidate in this example:&lt;br /&gt;
&lt;br /&gt;
 from bksltk.analogs import write_numbered_parent_png, make_analogs_combinations&lt;br /&gt;
&lt;br /&gt;
 eto_smiles = &#039;CCOC(=O)C1=CN=CN1[C@H](C)C2=CC=CC=C2&#039;&lt;br /&gt;
 write_numbered_parent_png(eto_smiles, &#039;test_parent.png&#039;)&lt;br /&gt;
&lt;br /&gt;
Look at the .png, and figure out where your modifications lie. Then, you&#039;ll create a &amp;quot;modification dictionary&amp;quot; that will be used for combinatorial generation of analogs. In this example, carbon 0 can get a hydroxyl, fluorine or methyl attached, carbons 6 and 14 can get methylated, carbon 15 can get replaced with an aromatic nitrogen or get hydroxylated, and carbon 16 can get hydroxylated. &lt;br /&gt;
&lt;br /&gt;
 make_analogs_combinations({0: [&#039;O&#039;, &#039;F&#039;, &#039;C&#039;],&lt;br /&gt;
                            6: [&#039;C&#039;],&lt;br /&gt;
                            14: [&#039;C&#039;],&lt;br /&gt;
                            15: [&#039;N&#039;, &#039;O&#039;],&lt;br /&gt;
                            16: [&#039;O&#039;]}, eto_smiles, [2, 3, 4], &#039;eto_combined_analogs&#039;)&lt;/div&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=15542</id>
		<title>Olivier&#039;s way of computing novelty</title>
		<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=Olivier%27s_way_of_computing_novelty&amp;diff=15542"/>
		<updated>2023-09-22T20:10:46Z</updated>

		<summary type="html">&lt;p&gt;Omailhot: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is my lazy way of doing novelty calculations.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 0: source my environment&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
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:&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;
&#039;&#039;&#039;Step 1: get all knowns from ChEMBL&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Here we don&#039;t really care about properties, drug-likeness etc. So just go 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(&#039;chembl.csv&#039;, &#039;chembl.smi&#039;)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 2: compute novelty&#039;&#039;&#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 &#039;chembl.smi&#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(&#039;chembl.smi&#039;, &#039;your_mols.smi&#039;, &#039;novelty.txt&#039;)&lt;br /&gt;
&lt;br /&gt;
This will write all the maximum Tcs to the &#039;novelty.txt&#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(&#039;chembl.smi&#039;, &#039;your_mols.smi&#039;, &#039;novelty.txt&#039;, threshold=0.35)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&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;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 3: ultimate laziness&#039;&#039;&#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(&#039;chembl.csv&#039;, &#039;chembl.smi&#039;)&lt;br /&gt;
 get_novelty(&#039;chembl.smi&#039;, &#039;your_mols.smi&#039;, &#039;novelty.txt&#039;, threshold=your_threshold)&lt;/div&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</id>
		<title>Olivier&#039;s way of computing novelty</title>
		<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=Olivier%27s_way_of_computing_novelty&amp;diff=15532"/>
		<updated>2023-09-21T01:12:03Z</updated>

		<summary type="html">&lt;p&gt;Omailhot: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is my lazy way of doing novelty calculations.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 0: source my environment&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
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:&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;
&#039;&#039;&#039;Step 1: get all knowns from ChEMBL&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Here we don&#039;t really care about properties, drug-likeness etc. So just go 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(&#039;chembl.csv&#039;, &#039;chembl.smi&#039;)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 2: compute novelty&#039;&#039;&#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 &#039;chembl.smi&#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(&#039;chembl.smi&#039;, &#039;your_mols.smi&#039;, &#039;novelty.txt&#039;)&lt;br /&gt;
&lt;br /&gt;
This will write all the maximum Tcs to the &#039;novelty.txt&#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(&#039;chembl.smi&#039;, &#039;your_mols.smi&#039;, &#039;novelty.txt&#039;, threshold=0.35)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 3: ultimate laziness&#039;&#039;&#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(&#039;chembl.csv&#039;, &#039;chembl.smi&#039;)&lt;br /&gt;
 get_novelty(&#039;chembl.smi&#039;, &#039;your_mols.smi&#039;, &#039;novelty.txt&#039;, threshold=your_threshold)&lt;/div&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</id>
		<title>Olivier&#039;s way of computing novelty</title>
		<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=Olivier%27s_way_of_computing_novelty&amp;diff=15531"/>
		<updated>2023-09-20T21:42:02Z</updated>

		<summary type="html">&lt;p&gt;Omailhot: 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;hr /&gt;
&lt;div&gt;This is my lazy way of doing novelty calculations.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 0: source my environment&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
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:&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;
&#039;&#039;&#039;Step 1: get all knowns from ChEMBL&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Here we don&#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(&#039;chembl.csv&#039;, &#039;chembl.smi&#039;)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 2: compute novelty&#039;&#039;&#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 &#039;chembl.smi&#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(&#039;chembl.smi&#039;, &#039;your_mols.smi&#039;, &#039;novelty.txt&#039;)&lt;br /&gt;
&lt;br /&gt;
This will write all the maximum Tcs to the &#039;novelty.txt&#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(&#039;chembl.smi&#039;, &#039;your_mols.smi&#039;, &#039;novelty.txt&#039;, threshold=0.35)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 3: ultimate laziness&#039;&#039;&#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(&#039;chembl.csv&#039;, &#039;chembl.smi&#039;)&lt;br /&gt;
 get_novelty(&#039;chembl.smi&#039;, &#039;your_mols.smi&#039;, &#039;novelty.txt&#039;, threshold=your_threshold)&lt;/div&gt;</summary>
		<author><name>Omailhot</name></author>
	</entry>
	<entry>
		<id>http://wiki.docking.org/index.php?title=Interactive_ligands_visualizer&amp;diff=15117</id>
		<title>Interactive ligands visualizer</title>
		<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=Interactive_ligands_visualizer&amp;diff=15117"/>
		<updated>2023-01-27T23:54:14Z</updated>

		<summary type="html">&lt;p&gt;Omailhot: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I (Olivier) put together this interactive visualizer to make sure that I don&#039;t miss out some chemotypes when coming up with actives at the start of a retrospective campaign. Starting from a downloaded ChEMBL CSV file for a list of ligands, images of each molecule are generated with RDKit and a text file with filtered Smiles is generated. You then need to compute the ECFP fingerprints on Gimel from that file (see below), and then a generated script will show an interactive visualization of the chemical space spanned by the ligands (tSNE), with each molecule shown on mouse hovering.&lt;br /&gt;
&lt;br /&gt;
[[File:Chemspace_vis_example.gif]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 1: install chemspace_vis package&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The visualizer will need to be installed on your local machine, not the cluster.&lt;br /&gt;
&lt;br /&gt;
Make sure you are using Python 3, and then simply:&lt;br /&gt;
&lt;br /&gt;
 pip install chemspace_vis&lt;br /&gt;
&lt;br /&gt;
N.B. This only works on Mac and Linux, sorry Windows users (if you exist).&lt;br /&gt;
&lt;br /&gt;
For those interested, the source code can be found on my GitHub: https://github.com/gregorpatof/chemspace_vis_package&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 2: obtain ChEMBL CSV file (or use provided example)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Any ChEMBL CSV from a given activity of a given target will do. If you want to run the visualizer directly from smiles and fingerprints, see bottom of page.&lt;br /&gt;
&lt;br /&gt;
You can also clone the example repository, which contains the CSV for mu-opioid ligands with measured Emax and an example script:&lt;br /&gt;
&lt;br /&gt;
 git clone https://github.com/gregorpatof/chemspace_vis_example&lt;br /&gt;
&lt;br /&gt;
Just to make things too clear, here is how I obtained that CSV:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
chembl_mor1.png|Mu-opioid receptor on ChEMBL&lt;br /&gt;
chembl_mor2.png|1100 ligands with measured Emax&lt;br /&gt;
chembl_mor3.png|Generating the CSV&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 3: extract Smiles and activity for given HAC and MW filters&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is accomplished by the preprocess_part1() method in the example script, which runs a single command:&lt;br /&gt;
&lt;br /&gt;
 from chemspace_vis.preprocess import preprocess_chembl&lt;br /&gt;
 &lt;br /&gt;
 chembl_csv = &amp;quot;mor_chembl_emax.csv&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 activity_name = &amp;quot;Emax&amp;quot; # The text name of the activity (in this case, Emax)&lt;br /&gt;
 preprocess_chembl(chembl_csv, activity_name, max_hac=35, max_mw=600, img_folder=&amp;quot;mol_images&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
As you can see, you can specify the maximum number of heavy atoms (max_hac) and maximum molecular weight (max_mw) for the ligands to keep.&lt;br /&gt;
&lt;br /&gt;
This will generate two files: a .smi file with the Smiles for all the kept ligands, and .df file which keeps the activity value (Emax here) in dataframe format.&lt;br /&gt;
&lt;br /&gt;
It also generates all 2D images of your molecules, with ChEMBL ID (or other, it is taken from the .smi file) and activity included, in the mol_images folder.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 4: compute the fingerprints on Gimel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Copy the .smi file to gimel, source the DOCK3.7 base, and then run this command (on gimel, not gimel2 or others):&lt;br /&gt;
&lt;br /&gt;
 python ~jklyu/zzz.github/ChemInfTools/utils/teb_chemaxon_cheminf_tools/generate_chemaxon_fingerprints.py mor_chembl_emax.smi mor_chembl_emax&lt;br /&gt;
&lt;br /&gt;
This will generate a .fp file, in the present case mor_chembl_emax.fp&lt;br /&gt;
&lt;br /&gt;
I personally like to use bash, so the way I source the DOCK3.7 base is:&lt;br /&gt;
&lt;br /&gt;
 export DOCKBASE=/nfs/soft/dock/versions/dock37/DOCK-3.7-trunk&lt;br /&gt;
 source /nfs/soft/dock/versions/dock37/DOCK-3.7-trunk/env.sh&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 5: tSNE and interactive visualization&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Almost done! Copy the .fp file back to your machine, then run part 2 of the example script:&lt;br /&gt;
&lt;br /&gt;
 from chemspace_vis.preprocess import make_tsne_from_fingerprints&lt;br /&gt;
 from chemspace_vis.visualizer import make_visualizer_script&lt;br /&gt;
 &lt;br /&gt;
 fingerprints_file = &amp;quot;mor_chembl_emax.fp&amp;quot;&lt;br /&gt;
 make_tsne_from_fingerprints(fingerprints_file)&lt;br /&gt;
 make_visualizer_script(&amp;quot;tsne_data.df&amp;quot;, &amp;quot;mol_images&amp;quot;, activity_filename=&amp;quot;mor_chembl_emax_activity.df&amp;quot;, use_log10=False)&lt;br /&gt;
&lt;br /&gt;
The first command will compute tSNE from the fingerprints. You will see a print telling you what percentage of the variance is covered by the PCA first applied (anything over 90-95% is good).&lt;br /&gt;
&lt;br /&gt;
If you get an error that looks like this:&lt;br /&gt;
&lt;br /&gt;
 ValueError: n_components=180 must be between 0 and min(n_samples, n_features)=91 with svd_solver=&#039;full&#039;&lt;br /&gt;
&lt;br /&gt;
It means that you have less than 180 molecules in your list. Simple change the number of requested components to a number below your number of molecules:&lt;br /&gt;
&lt;br /&gt;
 make_tsne_from_fingerprints(fingerprints_file, n_pca_components=SOME_NUMBER_LESS_THAN_N)&lt;br /&gt;
&lt;br /&gt;
Then, the visualizer script will be generated. If you supply an activity filename, you will get coloring based on that property (here, Emax). The use_log10 flag can be useful if you have extreme values driving the coloring.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 6: run the visualizer&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Simply run the generated visualizer script:&lt;br /&gt;
&lt;br /&gt;
 python visualizer_script.py&lt;br /&gt;
&lt;br /&gt;
You can then zoom on parts where ligands are close together, and go back to the general view with the back arrow:&lt;br /&gt;
&lt;br /&gt;
[[File:mor_zoom_example.gif]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Optional: run directly from Smiles and fingerprints&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
For this, you will bypass the ChEMBL processing step. Simply generate the images:&lt;br /&gt;
&lt;br /&gt;
 from chemspace_vis.preprocess import generate_images&lt;br /&gt;
 &lt;br /&gt;
 generate_images(&amp;quot;you_smiles.smi&amp;quot;, &amp;quot;mol_images&amp;quot;, activity_fn=None)&lt;br /&gt;
&lt;br /&gt;
And then run the second step, without an activity file:&lt;br /&gt;
&lt;br /&gt;
 from chemspace_vis.preprocess import make_tsne_from_fingerprints&lt;br /&gt;
 from chemspace_vis.visualizer import make_visualizer_script&lt;br /&gt;
 &lt;br /&gt;
 fingerprints_file = &amp;quot;mor_chembl_emax.fp&amp;quot;&lt;br /&gt;
 make_tsne_from_fingerprints(fingerprints_file)&lt;br /&gt;
 make_visualizer_script(&amp;quot;tsne_data.df&amp;quot;, &amp;quot;mol_images&amp;quot;, use_log10=False)&lt;/div&gt;</summary>
		<author><name>Omailhot</name></author>
	</entry>
	<entry>
		<id>http://wiki.docking.org/index.php?title=Interactive_ligands_visualizer&amp;diff=15116</id>
		<title>Interactive ligands visualizer</title>
		<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=Interactive_ligands_visualizer&amp;diff=15116"/>
		<updated>2023-01-27T23:17:53Z</updated>

		<summary type="html">&lt;p&gt;Omailhot: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I (Olivier) put together this interactive visualizer to make sure that I don&#039;t miss out some chemotypes when coming up with actives at the start of a retrospective campaign. Starting from a downloaded ChEMBL CSV file for a list of ligands, images of each molecule are generated with RDKit and a text file with filtered Smiles is generated. You then need to compute the ECFP fingerprints on Gimel from that file (see below), and then a generated script will show an interactive visualization of the chemical space spanned by the ligands (tSNE), with each molecule shown on mouse hovering.&lt;br /&gt;
&lt;br /&gt;
[[File:Chemspace_vis_example.gif]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 1: install chemspace_vis package&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The visualizer will need to be installed on your local machine, not the cluster.&lt;br /&gt;
&lt;br /&gt;
Make sure you are using Python 3, and then simply:&lt;br /&gt;
&lt;br /&gt;
 pip install chemspace_vis&lt;br /&gt;
&lt;br /&gt;
N.B. This only works on Mac and Linux, sorry Windows users (if you exist).&lt;br /&gt;
&lt;br /&gt;
For those interested, the source code can be found on my GitHub: https://github.com/gregorpatof/chemspace_vis_package&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 2: obtain ChEMBL CSV file (or use provided example)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Any ChEMBL CSV from a given activity of a given target will do. If you want to run the visualizer directly from smiles and fingerprints, see bottom of page.&lt;br /&gt;
&lt;br /&gt;
You can also clone the example repository, which contains the CSV for mu-opioid ligands with measured Emax and an example script:&lt;br /&gt;
&lt;br /&gt;
 git clone https://github.com/gregorpatof/chemspace_vis_example&lt;br /&gt;
&lt;br /&gt;
Just to make things too clear, here is how I obtained that CSV:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
chembl_mor1.png|Mu-opioid receptor on ChEMBL&lt;br /&gt;
chembl_mor2.png|1100 ligands with measured Emax&lt;br /&gt;
chembl_mor3.png|Generating the CSV&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 3: extract Smiles and activity for given HAC and MW filters&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is accomplished by the preprocess_part1() method in the example script, which runs a single command:&lt;br /&gt;
&lt;br /&gt;
 from chemspace_vis.preprocess import preprocess_chembl&lt;br /&gt;
 &lt;br /&gt;
 chembl_csv = &amp;quot;mor_chembl_emax.csv&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 activity_name = &amp;quot;Emax&amp;quot; # The text name of the activity (in this case, Emax)&lt;br /&gt;
 preprocess_chembl(chembl_csv, activity_name, max_hac=35, max_mw=600, img_folder=&amp;quot;mol_images&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
As you can see, you can specify the maximum number of heavy atoms (max_hac) and maximum molecular weight (max_mw) for the ligands to keep.&lt;br /&gt;
&lt;br /&gt;
This will generate two files: a .smi file with the Smiles for all the kept ligands, and .df file which keeps the activity value (Emax here) in dataframe format.&lt;br /&gt;
&lt;br /&gt;
It also generates all 2D images of your molecules, with ChEMBL ID (or other, it is taken from the .smi file) and activity included, in the mol_images folder.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 4: compute the fingerprints on Gimel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Copy the .smi file to gimel, source the DOCK3.7 base, and then run this command (on gimel, not gimel2 or others):&lt;br /&gt;
&lt;br /&gt;
 python ~jklyu/zzz.github/ChemInfTools/utils/teb_chemaxon_cheminf_tools/generate_chemaxon_fingerprints.py mor_chembl_emax.smi mor_chembl_emax&lt;br /&gt;
&lt;br /&gt;
This will generate a .fp file, in the present case mor_chembl_emax.fp&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 5: tSNE and interactive visualization&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Almost done! Copy the .fp file back to your machine, then run part 2 of the example script:&lt;br /&gt;
&lt;br /&gt;
 from chemspace_vis.preprocess import make_tsne_from_fingerprints&lt;br /&gt;
 from chemspace_vis.visualizer import make_visualizer_script&lt;br /&gt;
 &lt;br /&gt;
 fingerprints_file = &amp;quot;mor_chembl_emax.fp&amp;quot;&lt;br /&gt;
 make_tsne_from_fingerprints(fingerprints_file)&lt;br /&gt;
 make_visualizer_script(&amp;quot;tsne_data.df&amp;quot;, &amp;quot;mol_images&amp;quot;, activity_filename=&amp;quot;mor_chembl_emax_activity.df&amp;quot;, use_log10=False)&lt;br /&gt;
&lt;br /&gt;
The first command will compute tSNE from the fingerprints. You will see a print telling you what percentage of the variance is covered by the PCA first applied (anything over 90-95% is good).&lt;br /&gt;
&lt;br /&gt;
If you get an error that looks like this:&lt;br /&gt;
&lt;br /&gt;
 ValueError: n_components=180 must be between 0 and min(n_samples, n_features)=91 with svd_solver=&#039;full&#039;&lt;br /&gt;
&lt;br /&gt;
It means that you have less than 180 molecules in your list. Simple change the number of requested components to a number below your number of molecules:&lt;br /&gt;
&lt;br /&gt;
 make_tsne_from_fingerprints(fingerprints_file, n_pca_components=SOME_NUMBER_LESS_THAN_N)&lt;br /&gt;
&lt;br /&gt;
Then, the visualizer script will be generated. If you supply an activity filename, you will get coloring based on that property (here, Emax). The use_log10 flag can be useful if you have extreme values driving the coloring.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 6: run the visualizer&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Simply run the generated visualizer script:&lt;br /&gt;
&lt;br /&gt;
 python visualizer_script.py&lt;br /&gt;
&lt;br /&gt;
You can then zoom on parts where ligands are close together, and go back to the general view with the back arrow:&lt;br /&gt;
&lt;br /&gt;
[[File:mor_zoom_example.gif]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Optional: run directly from Smiles and fingerprints&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
For this, you will bypass the ChEMBL processing step. Simply generate the images:&lt;br /&gt;
&lt;br /&gt;
 from chemspace_vis.preprocess import generate_images&lt;br /&gt;
 &lt;br /&gt;
 generate_images(&amp;quot;you_smiles.smi&amp;quot;, &amp;quot;mol_images&amp;quot;, activity_fn=None)&lt;br /&gt;
&lt;br /&gt;
And then run the second step, without an activity file:&lt;br /&gt;
&lt;br /&gt;
 from chemspace_vis.preprocess import make_tsne_from_fingerprints&lt;br /&gt;
 from chemspace_vis.visualizer import make_visualizer_script&lt;br /&gt;
 &lt;br /&gt;
 fingerprints_file = &amp;quot;mor_chembl_emax.fp&amp;quot;&lt;br /&gt;
 make_tsne_from_fingerprints(fingerprints_file)&lt;br /&gt;
 make_visualizer_script(&amp;quot;tsne_data.df&amp;quot;, &amp;quot;mol_images&amp;quot;, use_log10=False)&lt;/div&gt;</summary>
		<author><name>Omailhot</name></author>
	</entry>
	<entry>
		<id>http://wiki.docking.org/index.php?title=Interactive_ligands_visualizer&amp;diff=15115</id>
		<title>Interactive ligands visualizer</title>
		<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=Interactive_ligands_visualizer&amp;diff=15115"/>
		<updated>2023-01-27T22:37:57Z</updated>

		<summary type="html">&lt;p&gt;Omailhot: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I (Olivier) put together this interactive visualizer to make sure that I don&#039;t miss out some chemotypes when coming up with actives at the start of a retrospective campaign. Starting from a downloaded ChEMBL CSV file for a list of ligands, images of each molecule are generated with RDKit and a text file with filtered Smiles is generated. You then need to compute the ECFP fingerprints on Gimel from that file (see below), and then a generated script will show an interactive visualization of the chemical space spanned by the ligands (tSNE), with each molecule shown on mouse hovering.&lt;br /&gt;
&lt;br /&gt;
[[File:Chemspace_vis_example.gif]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 1: install chemspace_vis package&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The visualizer will need to be installed on your local machine, not the cluster.&lt;br /&gt;
&lt;br /&gt;
Make sure you are using Python 3, and then simply:&lt;br /&gt;
&lt;br /&gt;
 pip install chemspace_vis&lt;br /&gt;
&lt;br /&gt;
N.B. This only works on Mac and Linux, sorry Windows users (if you exist).&lt;br /&gt;
&lt;br /&gt;
For those interested, the source code can be found on my GitHub: https://github.com/gregorpatof/chemspace_vis_package&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 2: obtain ChEMBL CSV file (or use provided example)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Any ChEMBL CSV from a given activity of a given target will do.&lt;br /&gt;
&lt;br /&gt;
You can also clone the example repository, which contains the CSV for mu-opioid ligands with measured Emax and an example script:&lt;br /&gt;
&lt;br /&gt;
 git clone https://github.com/gregorpatof/chemspace_vis_example&lt;br /&gt;
&lt;br /&gt;
Just to make things too clear, here is how I obtained that CSV:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
chembl_mor1.png|Mu-opioid receptor on ChEMBL&lt;br /&gt;
chembl_mor2.png|1100 ligands with measured Emax&lt;br /&gt;
chembl_mor3.png|Generating the CSV&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 3: extract Smiles and activity for given HAC and MW filters&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is accomplished by the preprocess_part1() method in the example script, which runs a single command:&lt;br /&gt;
&lt;br /&gt;
 from chemspace_vis.preprocess import preprocess_chembl&lt;br /&gt;
 &lt;br /&gt;
 chembl_csv = &amp;quot;mor_chembl_emax.csv&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 activity_name = &amp;quot;Emax&amp;quot; # The text name of the activity (in this case, Emax)&lt;br /&gt;
 preprocess_chembl(chembl_csv, activity_name, max_hac=35, max_mw=600, img_folder=&amp;quot;mol_images&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
As you can see, you can specify the maximum number of heavy atoms (max_hac) and maximum molecular weight (max_mw) for the ligands to keep.&lt;br /&gt;
&lt;br /&gt;
This will generate two files: a .smi file with the Smiles for all the kept ligands, and .df file which keeps the activity value (Emax here) in dataframe format.&lt;br /&gt;
&lt;br /&gt;
It also generates all 2D images of your molecules, with ChEMBL ID (or other, it is taken from the .smi file) and activity included, in the mol_images folder.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 4: compute the fingerprints on Gimel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Copy the .smi file to gimel, source the DOCK3.7 base, and then run this command (on gimel, not gimel2 or others):&lt;br /&gt;
&lt;br /&gt;
 python ~jklyu/zzz.github/ChemInfTools/utils/teb_chemaxon_cheminf_tools/generate_chemaxon_fingerprints.py mor_chembl_emax.smi mor_chembl_emax&lt;br /&gt;
&lt;br /&gt;
This will generate a .fp file, in the present case mor_chembl_emax.fp&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 5: tSNE and interactive visualization&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Almost done! Copy the .fp file back to your machine, then run part 2 of the example script:&lt;br /&gt;
&lt;br /&gt;
 from chemspace_vis.preprocess import make_tsne_from_fingerprints&lt;br /&gt;
 from chemspace_vis.visualizer import make_visualizer_script&lt;br /&gt;
 &lt;br /&gt;
 fingerprints_file = &amp;quot;mor_chembl_emax.fp&amp;quot;&lt;br /&gt;
 make_tsne_from_fingerprints(fingerprints_file)&lt;br /&gt;
 make_visualizer_script(&amp;quot;tsne_data.df&amp;quot;, &amp;quot;mol_images&amp;quot;, activity_filename=&amp;quot;mor_chembl_emax_activity.df&amp;quot;, use_log10=False)&lt;br /&gt;
&lt;br /&gt;
The first command will compute tSNE from the fingerprints. You will see a print telling you what percentage of the variance is covered by the PCA first applied (anything over 90-95% is good).&lt;br /&gt;
&lt;br /&gt;
Then, the visualizer script will be generated. If you supply an activity filename, you will get coloring based on that property (here, Emax). The use_log10 flag can be useful if you have extreme values driving the coloring.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 6: run the visualizer&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Simply run the generated visualizer script:&lt;br /&gt;
&lt;br /&gt;
 python visualizer_script.py&lt;br /&gt;
&lt;br /&gt;
You can then zoom on parts where ligands are close together, and go back to the general view with the back arrow:&lt;br /&gt;
&lt;br /&gt;
[[File:mor_zoom_example.gif]]&lt;/div&gt;</summary>
		<author><name>Omailhot</name></author>
	</entry>
	<entry>
		<id>http://wiki.docking.org/index.php?title=Interactive_ligands_visualizer&amp;diff=15105</id>
		<title>Interactive ligands visualizer</title>
		<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=Interactive_ligands_visualizer&amp;diff=15105"/>
		<updated>2023-01-20T23:12:50Z</updated>

		<summary type="html">&lt;p&gt;Omailhot: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I (Olivier) put together this interactive visualizer to make sure that I don&#039;t miss out some chemotypes when coming up with actives at the start of a retrospective campaign. Starting from a downloaded ChEMBL CSV file for a list of ligands, images of each molecule are generated with RDKit and a text file with filtered Smiles is generated. You then need to compute the ECFP fingerprints on Gimel from that file (see below), and then a generated script will show an interactive visualization of the chemical space spanned by the ligands (tSNE), with each molecule shown on mouse hovering.&lt;br /&gt;
&lt;br /&gt;
[[File:Chemspace_vis_example.gif]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 1: install chemspace_vis package&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Make sure you are using Python 3, and then simply:&lt;br /&gt;
&lt;br /&gt;
 pip install chemspace_vis&lt;br /&gt;
&lt;br /&gt;
N.B. This only works on Mac and Linux, sorry Windows users (if you exist).&lt;br /&gt;
&lt;br /&gt;
For those interested, the source code can be found on my GitHub: https://github.com/gregorpatof/chemspace_vis_package&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 2: obtain ChEMBL CSV file (or use provided example)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Any ChEMBL CSV from a given activity of a given target will do.&lt;br /&gt;
&lt;br /&gt;
You can also clone the example repository, which contains the CSV for mu-opioid ligands with measured Emax and an example script:&lt;br /&gt;
&lt;br /&gt;
 git clone https://github.com/gregorpatof/chemspace_vis_example&lt;br /&gt;
&lt;br /&gt;
Just to make things too clear, here is how I obtained that CSV:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
chembl_mor1.png|Mu-opioid receptor on ChEMBL&lt;br /&gt;
chembl_mor2.png|1100 ligands with measured Emax&lt;br /&gt;
chembl_mor3.png|Generating the CSV&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 3: extract Smiles and activity for given HAC and MW filters&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is accomplished by the preprocess_part1() method in the example script, which runs a single command:&lt;br /&gt;
&lt;br /&gt;
 from chemspace_vis.preprocess import preprocess_chembl&lt;br /&gt;
 &lt;br /&gt;
 chembl_csv = &amp;quot;mor_chembl_emax.csv&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 activity_name = &amp;quot;Emax&amp;quot; # The text name of the activity (in this case, Emax)&lt;br /&gt;
 preprocess_chembl(chembl_csv, activity_name, max_hac=35, max_mw=600, img_folder=&amp;quot;mol_images&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
As you can see, you can specify the maximum number of heavy atoms (max_hac) and maximum molecular weight (max_mw) for the ligands to keep.&lt;br /&gt;
&lt;br /&gt;
This will generate two files: a .smi file with the Smiles for all the kept ligands, and .df file which keeps the activity value (Emax here) in dataframe format.&lt;br /&gt;
&lt;br /&gt;
It also generates all 2D images of your molecules, with ChEMBL ID (or other, it is taken from the .smi file) and activity included, in the mol_images folder.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 4: compute the fingerprints on Gimel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Copy the .smi file to gimel, source the DOCK3.7 base, and then run this command (on gimel, not gimel2 or others):&lt;br /&gt;
&lt;br /&gt;
 python ~jklyu/zzz.github/ChemInfTools/utils/teb_chemaxon_cheminf_tools/generate_chemaxon_fingerprints.py mor_chembl_emax.smi mor_chembl_emax&lt;br /&gt;
&lt;br /&gt;
This will generate a .fp file, in the present case mor_chembl_emax.fp&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 5: tSNE and interactive visualization&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Almost done! Copy the .fp file back to your machine, then run part 2 of the example script:&lt;br /&gt;
&lt;br /&gt;
 from chemspace_vis.preprocess import make_tsne_from_fingerprints&lt;br /&gt;
 from chemspace_vis.visualizer import make_visualizer_script&lt;br /&gt;
 &lt;br /&gt;
 fingerprints_file = &amp;quot;mor_chembl_emax.fp&amp;quot;&lt;br /&gt;
 make_tsne_from_fingerprints(fingerprints_file)&lt;br /&gt;
 make_visualizer_script(&amp;quot;tsne_data.df&amp;quot;, &amp;quot;mol_images&amp;quot;, activity_filename=&amp;quot;mor_chembl_emax_activity.df&amp;quot;, use_log10=False)&lt;br /&gt;
&lt;br /&gt;
The first command will compute tSNE from the fingerprints. You will see a print telling you what percentage of the variance is covered by the PCA first applied (anything over 90-95% is good).&lt;br /&gt;
&lt;br /&gt;
Then, the visualizer script will be generated. If you supply an activity filename, you will get coloring based on that property (here, Emax). The use_log10 flag can be useful if you have extreme values driving the coloring.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 6: run the visualizer&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Simply run the generated visualizer script:&lt;br /&gt;
&lt;br /&gt;
 python visualizer_script.py&lt;br /&gt;
&lt;br /&gt;
You can then zoom on parts where ligands are close together, and go back to the general view with the back arrow:&lt;br /&gt;
&lt;br /&gt;
[[File:mor_zoom_example.gif]]&lt;/div&gt;</summary>
		<author><name>Omailhot</name></author>
	</entry>
	<entry>
		<id>http://wiki.docking.org/index.php?title=Interactive_ligands_visualizer&amp;diff=15104</id>
		<title>Interactive ligands visualizer</title>
		<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=Interactive_ligands_visualizer&amp;diff=15104"/>
		<updated>2023-01-20T23:07:48Z</updated>

		<summary type="html">&lt;p&gt;Omailhot: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I (Olivier) put together this interactive visualizer to make sure that I don&#039;t miss out some chemotypes when coming up with actives at the start of a retrospective campaign. Starting from a downloaded ChEMBL CSV file for a list of ligands, images of each molecule are generated with RDKit and a text file with filtered Smiles is generated. You then need to compute the ECFP fingerprints on Gimel from that file (see below), and then a generated script will show an interactive visualization of the chemical space spanned by the ligands (tSNE), with each molecule shown on mouse hovering.&lt;br /&gt;
&lt;br /&gt;
[[File:Chemspace_vis_example.gif]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 1: install chemspace_vis package&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Make sure you are using Python 3, and then simply:&lt;br /&gt;
&lt;br /&gt;
 pip install chemspace_vis&lt;br /&gt;
&lt;br /&gt;
N.B. This only works on Mac and Linux, sorry Windows users (if you exist).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 2: obtain ChEMBL CSV file (or use provided example)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Any ChEMBL CSV from a given activity of a given target will do.&lt;br /&gt;
&lt;br /&gt;
You can also clone the example repository, which contains the CSV for mu-opioid ligands with measured Emax and an example script:&lt;br /&gt;
&lt;br /&gt;
 git clone https://github.com/gregorpatof/chemspace_vis_example&lt;br /&gt;
&lt;br /&gt;
Just to make things too clear, here is how I obtained that CSV:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
chembl_mor1.png|Mu-opioid receptor on ChEMBL&lt;br /&gt;
chembl_mor2.png|1100 ligands with measured Emax&lt;br /&gt;
chembl_mor3.png|Generating the CSV&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 3: extract Smiles and activity for given HAC and MW filters&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is accomplished by the preprocess_part1() method in the example script, which runs a single command:&lt;br /&gt;
&lt;br /&gt;
 from chemspace_vis.preprocess import preprocess_chembl&lt;br /&gt;
 &lt;br /&gt;
 chembl_csv = &amp;quot;mor_chembl_emax.csv&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 activity_name = &amp;quot;Emax&amp;quot; # The text name of the activity (in this case, Emax)&lt;br /&gt;
 preprocess_chembl(chembl_csv, activity_name, max_hac=35, max_mw=600, img_folder=&amp;quot;mol_images&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
As you can see, you can specify the maximum number of heavy atoms (max_hac) and maximum molecular weight (max_mw) for the ligands to keep.&lt;br /&gt;
&lt;br /&gt;
This will generate two files: a .smi file with the Smiles for all the kept ligands, and .df file which keeps the activity value (Emax here) in dataframe format.&lt;br /&gt;
&lt;br /&gt;
It also generates all 2D images of your molecules, with ChEMBL ID (or other, it is taken from the .smi file) and activity included, in the mol_images folder.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 4: compute the fingerprints on Gimel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Copy the .smi file to gimel, source the DOCK3.7 base, and then run this command (on gimel, not gimel2 or others):&lt;br /&gt;
&lt;br /&gt;
 python ~jklyu/zzz.github/ChemInfTools/utils/teb_chemaxon_cheminf_tools/generate_chemaxon_fingerprints.py mor_chembl_emax.smi mor_chembl_emax&lt;br /&gt;
&lt;br /&gt;
This will generate a .fp file, in the present case mor_chembl_emax.fp&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 5: tSNE and interactive visualization&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Almost done! Copy the .fp file back to your machine, then run part 2 of the example script:&lt;br /&gt;
&lt;br /&gt;
 from chemspace_vis.preprocess import make_tsne_from_fingerprints&lt;br /&gt;
 from chemspace_vis.visualizer import make_visualizer_script&lt;br /&gt;
 &lt;br /&gt;
 fingerprints_file = &amp;quot;mor_chembl_emax.fp&amp;quot;&lt;br /&gt;
 make_tsne_from_fingerprints(fingerprints_file)&lt;br /&gt;
 make_visualizer_script(&amp;quot;tsne_data.df&amp;quot;, &amp;quot;mol_images&amp;quot;, activity_filename=&amp;quot;mor_chembl_emax_activity.df&amp;quot;, use_log10=False)&lt;br /&gt;
&lt;br /&gt;
The first command will compute tSNE from the fingerprints. You will see a print telling you what percentage of the variance is covered by the PCA first applied (anything over 90-95% is good).&lt;br /&gt;
&lt;br /&gt;
Then, the visualizer script will be generated. If you supply an activity filename, you will get coloring based on that property (here, Emax). The use_log10 flag can be useful if you have extreme values driving the coloring.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 6: run the visualizer&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Simply run the generated visualizer script:&lt;br /&gt;
&lt;br /&gt;
 python visualizer_script.py&lt;br /&gt;
&lt;br /&gt;
You can then zoom on parts where ligands are close together, and go back to the general view with the back arrow:&lt;br /&gt;
&lt;br /&gt;
[[File:mor_zoom_example.gif]]&lt;/div&gt;</summary>
		<author><name>Omailhot</name></author>
	</entry>
	<entry>
		<id>http://wiki.docking.org/index.php?title=Interactive_ligands_visualizer&amp;diff=15103</id>
		<title>Interactive ligands visualizer</title>
		<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=Interactive_ligands_visualizer&amp;diff=15103"/>
		<updated>2023-01-20T23:04:19Z</updated>

		<summary type="html">&lt;p&gt;Omailhot: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I (Olivier) put together this interactive visualizer to make sure that I don&#039;t miss out some chemotypes when coming up with actives at the start of a retrospective campaign. Starting from a downloaded ChEMBL CSV file for a list of ligands, images of each molecule are generated with RDKit and a text file with filtered Smiles is generated. You then need to compute the ECFP fingerprints on Gimel from that file (see below), and then a generated script will show an interactive visualization of the chemical space spanned by the ligands (tSNE), with each molecule shown on mouse hovering.&lt;br /&gt;
&lt;br /&gt;
[[File:Chemspace_vis_example.gif]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 1: install chemspace_vis package&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Make sure you are using Python 3, and then simply:&lt;br /&gt;
&lt;br /&gt;
 pip install chemspace_vis&lt;br /&gt;
&lt;br /&gt;
N.B. This only works on Mac and Linux, sorry Windows users (if you exist).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 2: obtain ChEMBL CSV file (or use provided example)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Any ChEMBL CSV from a given activity of a given target will do.&lt;br /&gt;
&lt;br /&gt;
You can also clone the example repository, which contains the CSV for mu-opioid ligands with measured Emax and an example script:&lt;br /&gt;
&lt;br /&gt;
 git clone https://github.com/gregorpatof/chemspace_vis_example&lt;br /&gt;
&lt;br /&gt;
Just to make things too clear, here is how I obtained that CSV:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
chembl_mor1.png|Mu-opioid receptor on ChEMBL&lt;br /&gt;
chembl_mor2.png|1100 ligands with measured Emax&lt;br /&gt;
chembl_mor3.png|Generating the CSV&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 3: extract Smiles and activity for given HAC and MW filters&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is accomplished by the preprocess_part1() method in the example script, which runs a single command:&lt;br /&gt;
&lt;br /&gt;
 from chemspace_vis.preprocess import preprocess_chembl&lt;br /&gt;
 &lt;br /&gt;
 chembl_csv = &amp;quot;mor_chembl_emax.csv&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 activity_name = &amp;quot;Emax&amp;quot; # The text name of the activity (in this case, Emax)&lt;br /&gt;
 preprocess_chembl(chembl_csv, activity_name, max_hac=35, max_mw=600, img_folder=&amp;quot;mol_images&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
As you can see, you can specify the maximum number of heavy atoms (max_hac) and maximum molecular weight (max_mw) for the ligands to keep.&lt;br /&gt;
&lt;br /&gt;
This will generate two files: a .smi file with the Smiles for all the kept ligands, and .df file which keeps the activity value (Emax here) in dataframe format.&lt;br /&gt;
&lt;br /&gt;
It also generates all 2D images of your molecules, with ChEMBL ID (or other, it is taken from the .smi file) and activity included, in the mol_images folder.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 4: compute the fingerprints on Gimel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Copy the .smi file to gimel, source the DOCK3.7 base, and then run this command (on gimel, not gimel2 or others):&lt;br /&gt;
&lt;br /&gt;
 python ~jklyu/zzz.github/ChemInfTools/utils/teb_chemaxon_cheminf_tools/generate_chemaxon_fingerprints.py mor_chembl_emax.smi mor_chembl_emax&lt;br /&gt;
&lt;br /&gt;
This will generate a .fp file, in the present case mor_chembl_emax.fp&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 5: tSNE and interactive visualization&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Almost done! Copy the .fp file back to your machine, then run part 2 of the example script:&lt;br /&gt;
&lt;br /&gt;
 from chemspace_vis.preprocess import make_tsne_from_fingerprints&lt;br /&gt;
 from chemspace_vis.visualizer import make_visualizer_script&lt;br /&gt;
 &lt;br /&gt;
 fingerprints_file = &amp;quot;mor_chembl_emax.fp&amp;quot;&lt;br /&gt;
 make_tsne_from_fingerprints(fingerprints_file)&lt;br /&gt;
 make_visualizer_script(&amp;quot;tsne_data.df&amp;quot;, &amp;quot;mol_images&amp;quot;,&lt;br /&gt;
                        activity_filename=&amp;quot;mor_chembl_emax_activity.df&amp;quot;, use_log10=False)&lt;br /&gt;
&lt;br /&gt;
The first command will compute tSNE from the fingerprints. You will see a print telling you what percentage of the variance is covered by the PCA first applied (anything over 90-95% is good).&lt;br /&gt;
&lt;br /&gt;
Then, the visualizer script will be generated.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 6: run the visualizer&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Simply run the generated visualizer script:&lt;br /&gt;
&lt;br /&gt;
 python visualizer_script.py&lt;br /&gt;
&lt;br /&gt;
You can then zoom on parts where ligands are close together, and go back to the general view with the back arrow:&lt;br /&gt;
&lt;br /&gt;
[[File:mor_zoom_example.gif]]&lt;/div&gt;</summary>
		<author><name>Omailhot</name></author>
	</entry>
	<entry>
		<id>http://wiki.docking.org/index.php?title=Interactive_ligands_visualizer&amp;diff=15102</id>
		<title>Interactive ligands visualizer</title>
		<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=Interactive_ligands_visualizer&amp;diff=15102"/>
		<updated>2023-01-20T23:04:05Z</updated>

		<summary type="html">&lt;p&gt;Omailhot: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I (Olivier) put together this interactive visualizer to make sure that I don&#039;t miss out some chemotypes when coming up with actives at the start of a retrospective campaign. Starting from a downloaded ChEMBL CSV file for a list of ligands, images of each molecule are generated with RDKit and a text file with filtered Smiles is generated. You then need to compute the ECFP fingerprints on Gimel from that file (see below), and then a generated script will show an interactive visualization of the chemical space spanned by the ligands (tSNE), with each molecule shown on mouse hovering.&lt;br /&gt;
&lt;br /&gt;
[[File:Chemspace_vis_example.gif]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 1: install chemspace_vis package&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Make sure you are using Python 3, and then simply:&lt;br /&gt;
&lt;br /&gt;
 pip install chemspace_vis&lt;br /&gt;
&lt;br /&gt;
N.B. This only works on Mac and Linux, sorry Windows users (if you exist).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 2: obtain ChEMBL CSV file (or use provided example)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Any ChEMBL CSV from a given activity of a given target will do.&lt;br /&gt;
&lt;br /&gt;
You can also clone the example repository, which contains the CSV for mu-opioid ligands with measured Emax and an example script:&lt;br /&gt;
&lt;br /&gt;
 git clone https://github.com/gregorpatof/chemspace_vis_example&lt;br /&gt;
&lt;br /&gt;
Just to make things too clear, here is how I obtained that CSV:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
chembl_mor1.png|Mu-opioid receptor on ChEMBL&lt;br /&gt;
chembl_mor2.png|1100 ligands with measured Emax&lt;br /&gt;
chembl_mor3.png|Generating the CSV&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 3: extract Smiles and activity for given HAC and MW filters&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is accomplished by the preprocess_part1() method in the example script, which runs a single command:&lt;br /&gt;
&lt;br /&gt;
 from chemspace_vis.preprocess import preprocess_chembl&lt;br /&gt;
 &lt;br /&gt;
 chembl_csv = &amp;quot;mor_chembl_emax.csv&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 activity_name = &amp;quot;Emax&amp;quot; # The text name of the activity (in this case, Emax)&lt;br /&gt;
 preprocess_chembl(chembl_csv, activity_name, max_hac=35, max_mw=600, img_folder=&amp;quot;mol_images&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
As you can see, you can specify the maximum number of heavy atoms (max_hac) and maximum molecular weight (max_mw) for the ligands to keep.&lt;br /&gt;
&lt;br /&gt;
This will generate two files: a .smi file with the Smiles for all the kept ligands, and .df file which keeps the activity value (Emax here) in dataframe format.&lt;br /&gt;
&lt;br /&gt;
It also generates all 2D images of your molecules, with ChEMBL ID (or other, it is taken from the .smi file) and activity included, in the mol_images folder.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 4: compute the fingerprints on Gimel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Copy the .smi file to gimel, source the DOCK3.7 base, and then run this command (on gimel, not gimel2 or others):&lt;br /&gt;
&lt;br /&gt;
 python ~jklyu/zzz.github/ChemInfTools/utils/teb_chemaxon_cheminf_tools/generate_chemaxon_fingerprints.py mor_chembl_emax.smi mor_chembl_emax&lt;br /&gt;
&lt;br /&gt;
This will generate a .fp file, in the present case mor_chembl_emax.fp&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 5: tSNE and interactive visualization&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Almost done! Copy the .fp file back to your machine, then run part 2 of the example script:&lt;br /&gt;
&lt;br /&gt;
 from chemspace_vis.preprocess import make_tsne_from_fingerprints&lt;br /&gt;
 from chemspace_vis.visualizer import make_visualizer_script&lt;br /&gt;
 &lt;br /&gt;
 fingerprints_file = &amp;quot;mor_chembl_emax.fp&amp;quot;&lt;br /&gt;
 make_tsne_from_fingerprints(fingerprints_file)&lt;br /&gt;
 make_visualizer_script(&amp;quot;tsne_data.df&amp;quot;, &amp;quot;mol_images&amp;quot;,&lt;br /&gt;
                        activity_filename=&amp;quot;mor_chembl_emax_activity.df&amp;quot;, use_log10=False)&lt;br /&gt;
&lt;br /&gt;
The first command will compute tSNE from the fingerprints. You will see a print telling you what percentage of the variance is covered by the PCA first applied (anything over 90-95% is good).&lt;br /&gt;
&lt;br /&gt;
Then, the visualizer script will be generated.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 6: run the visualizer&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Simply run the generated visualizer script:&lt;br /&gt;
&lt;br /&gt;
 python visualizer_script.py&lt;br /&gt;
&lt;br /&gt;
You can then zoom on parts where ligands are close together, and go back to the general view with the back arrow:&lt;br /&gt;
&lt;br /&gt;
[[mor_zoom_example.gif]]&lt;/div&gt;</summary>
		<author><name>Omailhot</name></author>
	</entry>
	<entry>
		<id>http://wiki.docking.org/index.php?title=File:Mor_zoom_example.gif&amp;diff=15101</id>
		<title>File:Mor zoom example.gif</title>
		<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=File:Mor_zoom_example.gif&amp;diff=15101"/>
		<updated>2023-01-20T23:03:28Z</updated>

		<summary type="html">&lt;p&gt;Omailhot: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Omailhot</name></author>
	</entry>
	<entry>
		<id>http://wiki.docking.org/index.php?title=Interactive_ligands_visualizer&amp;diff=15100</id>
		<title>Interactive ligands visualizer</title>
		<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=Interactive_ligands_visualizer&amp;diff=15100"/>
		<updated>2023-01-20T22:52:41Z</updated>

		<summary type="html">&lt;p&gt;Omailhot: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I (Olivier) put together this interactive visualizer to make sure that I don&#039;t miss out some chemotypes when coming up with actives at the start of a retrospective campaign. Starting from a downloaded ChEMBL CSV file for a list of ligands, images of each molecule are generated with RDKit and a text file with filtered Smiles is generated. You then need to compute the ECFP fingerprints on Gimel from that file (see below), and then a generated script will show an interactive visualization of the chemical space spanned by the ligands (tSNE), with each molecule shown on mouse hovering.&lt;br /&gt;
&lt;br /&gt;
[[File:Chemspace_vis_example.gif]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 1: install chemspace_vis package&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Make sure you are using Python 3, and then simply:&lt;br /&gt;
&lt;br /&gt;
 pip install chemspace_vis&lt;br /&gt;
&lt;br /&gt;
N.B. This only works on Mac and Linux, sorry Windows users (if you exist).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 2: obtain ChEMBL CSV file (or use provided example)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Any ChEMBL CSV from a given activity of a given target will do.&lt;br /&gt;
&lt;br /&gt;
You can also clone the example repository, which contains the CSV for mu-opioid ligands with measured Emax and an example script:&lt;br /&gt;
&lt;br /&gt;
 git clone https://github.com/gregorpatof/chemspace_vis_example&lt;br /&gt;
&lt;br /&gt;
Just to make things too clear, here is how I obtained that CSV:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
chembl_mor1.png|Mu-opioid receptor on ChEMBL&lt;br /&gt;
chembl_mor2.png|1100 ligands with measured Emax&lt;br /&gt;
chembl_mor3.png|Generating the CSV&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 3: extract Smiles and activity for given HAC and MW filters&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is accomplished by the preprocess_part1() method in the example script, which runs a single command:&lt;br /&gt;
&lt;br /&gt;
 from chemspace_vis.preprocess import preprocess_chembl&lt;br /&gt;
 &lt;br /&gt;
 chembl_csv = &amp;quot;mor_chembl_emax.csv&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 activity_name = &amp;quot;Emax&amp;quot; # The text name of the activity (in this case, Emax)&lt;br /&gt;
 preprocess_chembl(chembl_csv, activity_name, max_hac=35, max_mw=600, img_folder=&amp;quot;mol_images&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
As you can see, you can specify the maximum number of heavy atoms (max_hac) and maximum molecular weight (max_mw) for the ligands to keep.&lt;br /&gt;
&lt;br /&gt;
This will generate two files: a .smi file with the Smiles for all the kept ligands, and .df file which keeps the activity value (Emax here) in dataframe format.&lt;br /&gt;
&lt;br /&gt;
It also generates all 2D images of your molecules, with ChEMBL ID (or other, it is taken from the .smi file) and activity included, in the mol_images folder.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 4: compute the fingerprints on Gimel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Copy the .smi file to gimel, source the DOCK3.7 base, and then run this command (on gimel, not gimel2 or others):&lt;br /&gt;
&lt;br /&gt;
 python ~jklyu/zzz.github/ChemInfTools/utils/teb_chemaxon_cheminf_tools/generate_chemaxon_fingerprints.py mor_chembl_emax.smi mor_chembl_emax&lt;br /&gt;
&lt;br /&gt;
This will generate a .fp file, in the present case mor_chembl_emax.fp&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 5: tSNE and interactive visualization&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Almost done! Copy the .fp file back to your machine, then run part 2 of the example script:&lt;br /&gt;
&lt;br /&gt;
 from chemspace_vis.preprocess import make_tsne_from_fingerprints&lt;br /&gt;
 from chemspace_vis.visualizer import make_visualizer_script&lt;br /&gt;
 &lt;br /&gt;
 fingerprints_file = &amp;quot;mor_chembl_emax.fp&amp;quot;&lt;br /&gt;
 make_tsne_from_fingerprints(fingerprints_file)&lt;br /&gt;
 make_visualizer_script(&amp;quot;tsne_data.df&amp;quot;, &amp;quot;mol_images&amp;quot;,&lt;br /&gt;
                        activity_filename=&amp;quot;mor_chembl_emax_activity.df&amp;quot;, use_log10=False)&lt;br /&gt;
&lt;br /&gt;
The first command will compute tSNE from the fingerprints. You will see a print telling you what percentage of the variance is covered by the PCA first applied (anything over 90-95% is good).&lt;br /&gt;
&lt;br /&gt;
Then, the visualizer script will be generated.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 6: run the visualizer&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Simply run the generated visualizer script:&lt;br /&gt;
&lt;br /&gt;
 python visualizer_script.py&lt;br /&gt;
&lt;br /&gt;
You can then zoom on parts where ligands are close together, and go back to the general view with the back arrow.&lt;/div&gt;</summary>
		<author><name>Omailhot</name></author>
	</entry>
	<entry>
		<id>http://wiki.docking.org/index.php?title=Interactive_ligands_visualizer&amp;diff=15099</id>
		<title>Interactive ligands visualizer</title>
		<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=Interactive_ligands_visualizer&amp;diff=15099"/>
		<updated>2023-01-20T22:45:39Z</updated>

		<summary type="html">&lt;p&gt;Omailhot: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I (Olivier) put together this interactive visualizer to make sure that I don&#039;t miss out some chemotypes when coming up with actives at the start of a retrospective campaign. Starting from a downloaded ChEMBL CSV file for a list of ligands, images of each molecule are generated with RDKit and a text file with filtered Smiles is generated. You then need to compute the ECFP fingerprints on Gimel from that file (see below), and then a generated script will show an interactive visualization of the chemical space spanned by the ligands (tSNE), with each molecule shown on mouse hovering.&lt;br /&gt;
&lt;br /&gt;
[[File:Chemspace_vis_example.gif]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 1: install chemspace_vis package&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Make sure you are using Python 3, and then simply:&lt;br /&gt;
&lt;br /&gt;
 pip install chemspace_vis&lt;br /&gt;
&lt;br /&gt;
N.B. This only works on Mac and Linux, sorry Windows users (if you exist).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 2: obtain ChEMBL CSV file (or use provided example)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Any ChEMBL CSV from a given activity of a given target will do.&lt;br /&gt;
&lt;br /&gt;
You can also clone the example repository, which contains the CSV for mu-opioid ligands with measured Emax and an example script:&lt;br /&gt;
&lt;br /&gt;
 git clone https://github.com/gregorpatof/chemspace_vis_example&lt;br /&gt;
&lt;br /&gt;
Just to make things too clear, here is how I obtained that CSV:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
chembl_mor1.png|Mu-opioid receptor on ChEMBL&lt;br /&gt;
chembl_mor2.png|1100 ligands with measured Emax&lt;br /&gt;
chembl_mor3.png|Generating the CSV&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 3: extract Smiles and activity for given HAC and MW filters&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is accomplished by the preprocess_part1() method in the example script, which runs a single command:&lt;br /&gt;
&lt;br /&gt;
 from chemspace_vis.preprocess import preprocess_chembl&lt;br /&gt;
 &lt;br /&gt;
 chembl_csv = &amp;quot;mor_chembl_emax.csv&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 activity_name = &amp;quot;Emax&amp;quot; # The text name of the activity (in this case, Emax)&lt;br /&gt;
 preprocess_chembl(chembl_csv, activity_name, max_hac=35, max_mw=600, img_folder=&amp;quot;mol_images&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
As you can see, you can specify the maximum number of heavy atoms (max_hac) and maximum molecular weight (max_mw) for the ligands to keep.&lt;br /&gt;
&lt;br /&gt;
This will generate two files: a .smi file with the Smiles for all the kept ligands, and .df file which keeps the activity value (Emax here) in dataframe format.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 4: compute the fingerprints on Gimel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Copy the .smi file to gimel, source the DOCK3.7 base, and then run this command (on gimel, not gimel2 or others):&lt;br /&gt;
&lt;br /&gt;
 python ~jklyu/zzz.github/ChemInfTools/utils/teb_chemaxon_cheminf_tools/generate_chemaxon_fingerprints.py mor_chembl_emax.smi mor_chembl_emax&lt;br /&gt;
&lt;br /&gt;
This will generate a .fp file, in the present case mor_chembl_emax.fp&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 5: tSNE and interactive visualization&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Almost done! Copy the .fp file back to your machine, then run part 2 of the example script:&lt;br /&gt;
&lt;br /&gt;
 from chemspace_vis.preprocess import make_tsne_from_fingerprints&lt;br /&gt;
 from chemspace_vis.visualizer import make_visualizer_script&lt;br /&gt;
 &lt;br /&gt;
 fingerprints_file = &amp;quot;mor_chembl_emax.fp&amp;quot;&lt;br /&gt;
 make_tsne_from_fingerprints(fingerprints_file)&lt;br /&gt;
 make_visualizer_script(&amp;quot;tsne_data.df&amp;quot;, &amp;quot;mol_images&amp;quot;,&lt;br /&gt;
                        activity_filename=&amp;quot;mor_chembl_emax_activity.df&amp;quot;, use_log10=False)&lt;/div&gt;</summary>
		<author><name>Omailhot</name></author>
	</entry>
	<entry>
		<id>http://wiki.docking.org/index.php?title=Interactive_ligands_visualizer&amp;diff=15098</id>
		<title>Interactive ligands visualizer</title>
		<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=Interactive_ligands_visualizer&amp;diff=15098"/>
		<updated>2023-01-20T22:21:37Z</updated>

		<summary type="html">&lt;p&gt;Omailhot: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I (Olivier) put together this interactive visualizer to make sure that I don&#039;t miss out some chemotypes when coming up with actives at the start of a retrospective campaign. Starting from a downloaded ChEMBL CSV file for a list of ligands, images of each molecule are generated with RDKit and a text file with filtered Smiles is generated. You then need to compute the ECFP fingerprints on Gimel from that file (see below), and then a generated script will show an interactive visualization of the chemical space spanned by the ligands (tSNE), with each molecule shown on mouse hovering.&lt;br /&gt;
&lt;br /&gt;
[[File:Chemspace_vis_example.gif]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 1: install chemspace_vis package&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Make sure you are using Python 3, and then simply:&lt;br /&gt;
&lt;br /&gt;
 pip install chemspace_vis&lt;br /&gt;
&lt;br /&gt;
N.B. This only works on Mac and Linux, sorry Windows users (if you exist).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 2: obtain ChEMBL CSV file (or use provided example)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Any ChEMBL CSV from a given activity of a given target will do.&lt;br /&gt;
&lt;br /&gt;
You can also clone the example repository, which contains the CSV for mu-opioid ligands with measured Emax and an example script:&lt;br /&gt;
&lt;br /&gt;
 git clone https://github.com/gregorpatof/chemspace_vis_example&lt;br /&gt;
&lt;br /&gt;
Just to make things too clear, here is how I obtained that CSV:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
chembl_mor1.png|Mu-opioid receptor on ChEMBL&lt;br /&gt;
chembl_mor2.png|1100 ligands with measured Emax&lt;br /&gt;
chembl_mor3.png|Generating the CSV&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 3: extract Smiles and activity for given HAC and MW filters&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is accomplished by the preprocess_part1() method in the example script, which runs a single command:&lt;br /&gt;
&lt;br /&gt;
 from chemspace_vis.preprocess import preprocess_chembl&lt;br /&gt;
 &lt;br /&gt;
 chembl_csv = &amp;quot;mor_chembl_emax.csv&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 activity_name = &amp;quot;IC50&amp;quot; # The text name of the activity (in this case, IC50)&lt;br /&gt;
 preprocess_chembl(chembl_csv, activity_name, max_hac=35, max_mw=600, img_folder=&amp;quot;mol_images&amp;quot;)&lt;/div&gt;</summary>
		<author><name>Omailhot</name></author>
	</entry>
	<entry>
		<id>http://wiki.docking.org/index.php?title=File:Chembl_mor3.png&amp;diff=15097</id>
		<title>File:Chembl mor3.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=File:Chembl_mor3.png&amp;diff=15097"/>
		<updated>2023-01-20T22:19:26Z</updated>

		<summary type="html">&lt;p&gt;Omailhot: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Omailhot</name></author>
	</entry>
	<entry>
		<id>http://wiki.docking.org/index.php?title=File:Chembl_mor2.png&amp;diff=15096</id>
		<title>File:Chembl mor2.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=File:Chembl_mor2.png&amp;diff=15096"/>
		<updated>2023-01-20T22:19:18Z</updated>

		<summary type="html">&lt;p&gt;Omailhot: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Omailhot</name></author>
	</entry>
	<entry>
		<id>http://wiki.docking.org/index.php?title=File:Chembl_mor1.png&amp;diff=15095</id>
		<title>File:Chembl mor1.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=File:Chembl_mor1.png&amp;diff=15095"/>
		<updated>2023-01-20T22:19:08Z</updated>

		<summary type="html">&lt;p&gt;Omailhot: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Omailhot</name></author>
	</entry>
	<entry>
		<id>http://wiki.docking.org/index.php?title=Interactive_ligands_visualizer&amp;diff=15094</id>
		<title>Interactive ligands visualizer</title>
		<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=Interactive_ligands_visualizer&amp;diff=15094"/>
		<updated>2023-01-20T21:54:41Z</updated>

		<summary type="html">&lt;p&gt;Omailhot: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I (Olivier) put together this interactive visualizer to make sure that I don&#039;t miss out some chemotypes when coming up with actives at the start of a retrospective campaign. Starting from a downloaded ChEMBL CSV file for a list of ligands, images of each molecule are generated with RDKit and a text file with filtered Smiles is generated. You then need to compute the ECFP fingerprints on Gimel from that file (see below), and then a generated script will show an interactive visualization of the chemical space spanned by the ligands (tSNE), with each molecule shown on mouse hovering.&lt;br /&gt;
&lt;br /&gt;
[[File:Chemspace_vis_example.gif]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 1: install chemspace_vis package&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Make sure you are using Python 3, and then simply:&lt;br /&gt;
&lt;br /&gt;
 pip install chemspace_vis&lt;br /&gt;
&lt;br /&gt;
N.B. This only works on Mac and Linux, sorry Windows users (if you exist).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 2: obtain ChEMBL CSV file (or use provided example)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Any ChEMBL CSV from a given activity of a given target will do.&lt;br /&gt;
&lt;br /&gt;
You can also clone the example repository, which contains the CSV for .... and an example script:&lt;br /&gt;
&lt;br /&gt;
 git clone https://github.com/gregorpatof/chemspace_vis_example&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 3: extract Smiles and activity for given HAC and MW filters&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is accomplished by the preprocess_part1() method in the example script, which runs a single command:&lt;br /&gt;
&lt;br /&gt;
 from chemspace_vis.preprocess import preprocess_chembl&lt;br /&gt;
 &lt;br /&gt;
 chembl_csv = &amp;quot;c5a_ic50_chembl.csv&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 activity_name = &amp;quot;IC50&amp;quot; # The text name of the activity (in this case, IC50)&lt;br /&gt;
 preprocess_chembl(chembl_csv, activity_name, max_hac=35, max_mw=600, img_folder=&amp;quot;mol_images&amp;quot;)&lt;/div&gt;</summary>
		<author><name>Omailhot</name></author>
	</entry>
	<entry>
		<id>http://wiki.docking.org/index.php?title=File:Chemspace_vis_example.gif&amp;diff=15093</id>
		<title>File:Chemspace vis example.gif</title>
		<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=File:Chemspace_vis_example.gif&amp;diff=15093"/>
		<updated>2023-01-20T21:53:50Z</updated>

		<summary type="html">&lt;p&gt;Omailhot: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Omailhot</name></author>
	</entry>
	<entry>
		<id>http://wiki.docking.org/index.php?title=Interactive_ligands_visualizer&amp;diff=15092</id>
		<title>Interactive ligands visualizer</title>
		<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=Interactive_ligands_visualizer&amp;diff=15092"/>
		<updated>2023-01-20T00:43:31Z</updated>

		<summary type="html">&lt;p&gt;Omailhot: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I (Olivier) put together this interactive visualizer to make sure that I don&#039;t miss out some chemotypes when coming up with actives at the start of a retrospective campaign. Starting from a downloaded ChEMBL CSV file for a list of ligands, images of each molecule are generated with RDKit and a text file with filtered Smiles is generated. You then need to compute the ECFP fingerprints on Gimel from that file (see below), and then a generated script will show an interactive visualization of the chemical space spanned by the ligands (tSNE), with each molecule shown on mouse hovering.&lt;br /&gt;
&lt;br /&gt;
[[File:Chemspace_vis_example1.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 1: install chemspace_vis package&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Make sure you are using Python 3, and then simply:&lt;br /&gt;
&lt;br /&gt;
 pip install chemspace_vis&lt;br /&gt;
&lt;br /&gt;
N.B. This only works on Mac and Linux, sorry Windows users (if you exist).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 2: obtain ChEMBL CSV file (or use provided example)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Any ChEMBL CSV from a given activity of a given target will do.&lt;br /&gt;
&lt;br /&gt;
You can also clone the example repository, which contains the CSV for .... and an example script:&lt;br /&gt;
&lt;br /&gt;
 git clone https://github.com/gregorpatof/chemspace_vis_example&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 3: extract Smiles and activity for given HAC and MW filters&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is accomplished by the preprocess_part1() method in the example script, which runs a single command:&lt;br /&gt;
&lt;br /&gt;
 from chemspace_vis.preprocess import preprocess_chembl&lt;br /&gt;
 &lt;br /&gt;
 chembl_csv = &amp;quot;c5a_ic50_chembl.csv&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 activity_name = &amp;quot;IC50&amp;quot; # The text name of the activity (in this case, IC50)&lt;br /&gt;
 preprocess_chembl(chembl_csv, activity_name, max_hac=35, max_mw=600, img_folder=&amp;quot;mol_images&amp;quot;)&lt;/div&gt;</summary>
		<author><name>Omailhot</name></author>
	</entry>
	<entry>
		<id>http://wiki.docking.org/index.php?title=File:Chemspace_vis_example1.png&amp;diff=15091</id>
		<title>File:Chemspace vis example1.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=File:Chemspace_vis_example1.png&amp;diff=15091"/>
		<updated>2023-01-20T00:40:08Z</updated>

		<summary type="html">&lt;p&gt;Omailhot: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Omailhot</name></author>
	</entry>
	<entry>
		<id>http://wiki.docking.org/index.php?title=Interactive_ligands_visualizer&amp;diff=15089</id>
		<title>Interactive ligands visualizer</title>
		<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=Interactive_ligands_visualizer&amp;diff=15089"/>
		<updated>2023-01-20T00:38:14Z</updated>

		<summary type="html">&lt;p&gt;Omailhot: Created page with &amp;quot;I (Olivier) put together this interactive visualizer to make sure that I don&amp;#039;t miss out some chemotypes when coming up with actives at the start of a retrospective campaign. Starting from a downloaded ChEMBL CSV file for a list of ligands, images of each molecule are generated with RDKit and a text file with filtered Smiles is generated. You then need to compute the ECFP fingerprints on Gimel from that file (see below), and then a generated script will show an interactiv...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I (Olivier) put together this interactive visualizer to make sure that I don&#039;t miss out some chemotypes when coming up with actives at the start of a retrospective campaign. Starting from a downloaded ChEMBL CSV file for a list of ligands, images of each molecule are generated with RDKit and a text file with filtered Smiles is generated. You then need to compute the ECFP fingerprints on Gimel from that file (see below), and then a generated script will show an interactive visualization of the chemical space spanned by the ligands (tSNE), with each molecule shown on mouse hovering.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 1: install chemspace_vis package&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Make sure you are using Python 3, and then simply:&lt;br /&gt;
&lt;br /&gt;
 pip install chemspace_vis&lt;br /&gt;
&lt;br /&gt;
N.B. This only works on Mac and Linux, sorry Windows users (if you exist).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 2: obtain ChEMBL CSV file (or use provided example)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Any ChEMBL CSV from a given activity of a given target will do.&lt;br /&gt;
&lt;br /&gt;
You can also clone the example repository, which contains the CSV for .... and an example script:&lt;br /&gt;
&lt;br /&gt;
 git clone https://github.com/gregorpatof/chemspace_vis_example&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 3: extract Smiles and activity for given HAC and MW filters&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is accomplished by the preprocess_part1() method in the example script, which runs a single command:&lt;br /&gt;
&lt;br /&gt;
 from chemspace_vis.preprocess import preprocess_chembl&lt;br /&gt;
 &lt;br /&gt;
 chembl_csv = &amp;quot;c5a_ic50_chembl.csv&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 activity_name = &amp;quot;IC50&amp;quot; # The text name of the activity (in this case, IC50)&lt;br /&gt;
 preprocess_chembl(chembl_csv, activity_name, max_hac=35, max_mw=600, img_folder=&amp;quot;mol_images&amp;quot;)&lt;/div&gt;</summary>
		<author><name>Omailhot</name></author>
	</entry>
</feed>