<?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=Interactive_Molecular_Structure_Alignment_App_for_QSAR</id>
	<title>Interactive Molecular Structure Alignment App for QSAR - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.docking.org/index.php?action=history&amp;feed=atom&amp;title=Interactive_Molecular_Structure_Alignment_App_for_QSAR"/>
	<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=Interactive_Molecular_Structure_Alignment_App_for_QSAR&amp;action=history"/>
	<updated>2026-06-20T10:17:57Z</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=Interactive_Molecular_Structure_Alignment_App_for_QSAR&amp;diff=16942&amp;oldid=prev</id>
		<title>Iamkaant at 22:30, 6 October 2025</title>
		<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=Interactive_Molecular_Structure_Alignment_App_for_QSAR&amp;diff=16942&amp;oldid=prev"/>
		<updated>2025-10-06T22:30:36Z</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 22:30, 6 October 2025&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-l16&quot;&gt;Line 16:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 16:&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;== Installation ==&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;== Installation ==&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;You can find the program in &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;{{&lt;/del&gt;code&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|&lt;/del&gt;/mnt/nfs/exa/work/ak87/UCSF/SCRIPTS/SHOW_STRUCTURES/align-2d-struct-highlight_interactive.py&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;}}&lt;/del&gt;&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;You can find the program in &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;&lt;/ins&gt;code&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;gt;&lt;/ins&gt;/mnt/nfs/exa/work/ak87/UCSF/SCRIPTS/SHOW_STRUCTURES/align-2d-struct-highlight_interactive.py&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;/code&amp;gt;&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;=== Requirements ===&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;=== Requirements ===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Iamkaant</name></author>
	</entry>
	<entry>
		<id>http://wiki.docking.org/index.php?title=Interactive_Molecular_Structure_Alignment_App_for_QSAR&amp;diff=16941&amp;oldid=prev</id>
		<title>Iamkaant: added path to the program</title>
		<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=Interactive_Molecular_Structure_Alignment_App_for_QSAR&amp;diff=16941&amp;oldid=prev"/>
		<updated>2025-10-06T22:28:59Z</updated>

		<summary type="html">&lt;p&gt;added path to the program&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 22:28, 6 October 2025&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-l15&quot;&gt;Line 15:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 15:&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;== Installation ==&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;== Installation ==&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;You can find the program in {{code|/mnt/nfs/exa/work/ak87/UCSF/SCRIPTS/SHOW_STRUCTURES/align-2d-struct-highlight_interactive.py}}&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;=== Requirements ===&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;=== Requirements ===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Iamkaant</name></author>
	</entry>
	<entry>
		<id>http://wiki.docking.org/index.php?title=Interactive_Molecular_Structure_Alignment_App_for_QSAR&amp;diff=16940&amp;oldid=prev</id>
		<title>Iamkaant: Created page with &quot;= Interactive Molecular Structure Alignment Application =  A PyQt5-based interactive tool for aligning and visualizing molecular analogs with customizable highlighting, transformations, and high-resolution export capabilities.  == Table of Contents ==  * Installation * Quick Start * Features * User Interface * Workflows * File Formats * #Troubleshooting|Troubleshooting...&quot;</title>
		<link rel="alternate" type="text/html" href="http://wiki.docking.org/index.php?title=Interactive_Molecular_Structure_Alignment_App_for_QSAR&amp;diff=16940&amp;oldid=prev"/>
		<updated>2025-10-06T21:02:01Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;= Interactive Molecular Structure Alignment Application =  A PyQt5-based interactive tool for aligning and visualizing molecular analogs with customizable highlighting, transformations, and high-resolution export capabilities.  == Table of Contents ==  * &lt;a href=&quot;#Installation&quot;&gt;Installation&lt;/a&gt; * &lt;a href=&quot;#Quick_Start&quot;&gt;Quick Start&lt;/a&gt; * &lt;a href=&quot;#Features&quot;&gt;Features&lt;/a&gt; * &lt;a href=&quot;#User_Interface&quot;&gt;User Interface&lt;/a&gt; * &lt;a href=&quot;#Workflows&quot;&gt;Workflows&lt;/a&gt; * &lt;a href=&quot;#File_Formats&quot;&gt;File Formats&lt;/a&gt; * #Troubleshooting|Troubleshooting...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;= Interactive Molecular Structure Alignment Application =&lt;br /&gt;
&lt;br /&gt;
A PyQt5-based interactive tool for aligning and visualizing molecular analogs with customizable highlighting, transformations, and high-resolution export capabilities.&lt;br /&gt;
&lt;br /&gt;
== Table of Contents ==&lt;br /&gt;
&lt;br /&gt;
* [[#Installation|Installation]]&lt;br /&gt;
* [[#Quick Start|Quick Start]]&lt;br /&gt;
* [[#Features|Features]]&lt;br /&gt;
* [[#User Interface|User Interface]]&lt;br /&gt;
* [[#Workflows|Workflows]]&lt;br /&gt;
* [[#File Formats|File Formats]]&lt;br /&gt;
* [[#Troubleshooting|Troubleshooting]]&lt;br /&gt;
* [[#Tips and Best Practices|Tips and Best Practices]]&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
=== Requirements ===&lt;br /&gt;
&lt;br /&gt;
* Python 3.7 or higher&lt;br /&gt;
* RDKit (chemistry toolkit)&lt;br /&gt;
* PyQt5 (GUI framework)&lt;br /&gt;
* Pillow (image processing)&lt;br /&gt;
&lt;br /&gt;
=== Step-by-Step Installation ===&lt;br /&gt;
&lt;br /&gt;
==== Using Conda (Recommended) ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Create a new conda environment&lt;br /&gt;
conda create -n mol_aligner python=3.9&lt;br /&gt;
&lt;br /&gt;
# Activate the environment&lt;br /&gt;
conda activate mol_aligner&lt;br /&gt;
&lt;br /&gt;
# Install RDKit from conda-forge&lt;br /&gt;
conda install -c conda-forge rdkit&lt;br /&gt;
&lt;br /&gt;
# Install PyQt5 and Pillow&lt;br /&gt;
conda install pyqt pillow&lt;br /&gt;
# Or using pip&lt;br /&gt;
pip install rdkit PyQt5 pillow&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Note:&amp;#039;&amp;#039;&amp;#039; Installing RDKit via pip can be challenging on some systems. Conda installation is strongly recommended.&lt;br /&gt;
&lt;br /&gt;
=== Platform-Specific Notes ===&lt;br /&gt;
&lt;br /&gt;
==== macOS ====&lt;br /&gt;
* No additional steps required&lt;br /&gt;
* Font rendering uses system fonts (Helvetica, Arial)&lt;br /&gt;
&lt;br /&gt;
==== Linux ====&lt;br /&gt;
* Install font packages for better rendering:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt-get install fonts-dejavu-core  # Ubuntu/Debian&lt;br /&gt;
sudo yum install dejavu-sans-fonts      # CentOS/RHEL&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Windows ====&lt;br /&gt;
* No additional steps required&lt;br /&gt;
* Arial font is used by default&lt;br /&gt;
&lt;br /&gt;
== Quick Start ==&lt;br /&gt;
&lt;br /&gt;
=== Launching the Application ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
python mol_aligner_app.py&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Basic Workflow ===&lt;br /&gt;
&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;Load molecules:&amp;#039;&amp;#039;&amp;#039; Click &amp;quot;Browse File&amp;quot; and select your SDF or SMILES file&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;Set reference:&amp;#039;&amp;#039;&amp;#039; Enter the SMILES string of your reference/core structure&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;Configure display:&amp;#039;&amp;#039;&amp;#039; Set number of columns (default: 4) and font size (default: 24)&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;Click &amp;quot;Load &amp;amp; Align&amp;quot;:&amp;#039;&amp;#039;&amp;#039; Molecules will be aligned and displayed&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;Edit as needed:&amp;#039;&amp;#039;&amp;#039; Select molecules, toggle highlights, rotate/mirror structures&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;Export:&amp;#039;&amp;#039;&amp;#039; Click &amp;quot;💾 Export High-Res PNG&amp;quot; to save your grid&lt;br /&gt;
&lt;br /&gt;
== Features ==&lt;br /&gt;
&lt;br /&gt;
=== Core Features ===&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Molecular Alignment:&amp;#039;&amp;#039;&amp;#039; Automatically aligns analogs based on Maximum Common Substructure (MCS)&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Interactive Highlighting:&amp;#039;&amp;#039;&amp;#039; Click atoms to toggle highlights on/off&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Structure Transformations:&amp;#039;&amp;#039;&amp;#039; Rotate (90°) and mirror structures while keeping atom labels readable&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Flexible Display:&amp;#039;&amp;#039;&amp;#039; Adjustable grid columns (1-10) and font sizes (16-48pt)&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Property Display:&amp;#039;&amp;#039;&amp;#039; Show any molecular property as label (Catalog ID, Price, MW, LogP, etc.)&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;High-Resolution Export:&amp;#039;&amp;#039;&amp;#039; Export publication-quality PNG at 300 DPI&lt;br /&gt;
&lt;br /&gt;
=== Supported File Formats ===&lt;br /&gt;
&lt;br /&gt;
==== Input Files ====&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;SDF (Structure Data File):&amp;#039;&amp;#039;&amp;#039; .sdf extension&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;SMILES:&amp;#039;&amp;#039;&amp;#039; .smi or .smiles extension&lt;br /&gt;
&lt;br /&gt;
==== SMILES File Format ====&lt;br /&gt;
&lt;br /&gt;
Tab or space-delimited format:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
SMILES_STRING    Catalog_ID    Property1    Property2&lt;br /&gt;
c1ccccc1         Benzene       10.50        150.2&lt;br /&gt;
CCO              Ethanol       5.00         78.1&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* First column: SMILES string (required)&lt;br /&gt;
* Second column: Catalog ID (optional, defaults to &amp;quot;Mol_N&amp;quot;)&lt;br /&gt;
* Additional columns: Any properties you want to display&lt;br /&gt;
&lt;br /&gt;
==== SDF Files ====&lt;br /&gt;
&lt;br /&gt;
Standard SDF format with properties embedded:&lt;br /&gt;
* Catalog ID&lt;br /&gt;
* Price, USD&lt;br /&gt;
* Molecular Weight&lt;br /&gt;
* LogP&lt;br /&gt;
* Any custom properties&lt;br /&gt;
&lt;br /&gt;
== User Interface ==&lt;br /&gt;
&lt;br /&gt;
=== Main Window Components ===&lt;br /&gt;
&lt;br /&gt;
==== 1. Toolbar ====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Button !! Function !! Shortcut&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;✏️ Edit Highlights Mode&amp;#039;&amp;#039;&amp;#039; || Toggle between selection and atom editing modes || Click to toggle&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;📝 Atom List...&amp;#039;&amp;#039;&amp;#039; || Open dialog with checkboxes for all atoms || -&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Reset Highlights&amp;#039;&amp;#039;&amp;#039; || Restore original highlights (non-matching atoms) || -&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Clear All Highlights&amp;#039;&amp;#039;&amp;#039; || Remove all highlights || -&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Rotate ↻ 90°&amp;#039;&amp;#039;&amp;#039; || Rotate selected molecule 90° clockwise || -&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Rotate ↺ 90°&amp;#039;&amp;#039;&amp;#039; || Rotate selected molecule 90° counter-clockwise || -&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Mirror Horizontal ↔&amp;#039;&amp;#039;&amp;#039; || Flip selected molecule left-to-right || -&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Mirror Vertical ↕&amp;#039;&amp;#039;&amp;#039; || Flip selected molecule top-to-bottom || -&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;💾 Export High-Res PNG&amp;#039;&amp;#039;&amp;#039; || Save grid as high-resolution image || -&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Reset Selected&amp;#039;&amp;#039;&amp;#039; || Reset all transformations for selected molecule || -&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== 2. Input Section ====&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;File:&amp;#039;&amp;#039;&amp;#039; Path to SDF or SMILES file&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Browse File:&amp;#039;&amp;#039;&amp;#039; Open file dialog&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Reference:&amp;#039;&amp;#039;&amp;#039; SMILES string of reference structure&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Columns:&amp;#039;&amp;#039;&amp;#039; Number of columns in grid (1-10)&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Load &amp;amp; Align:&amp;#039;&amp;#039;&amp;#039; Process and display molecules&lt;br /&gt;
&lt;br /&gt;
==== 3. Label Settings ====&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Font Size:&amp;#039;&amp;#039;&amp;#039; Dropdown with sizes 16-48pt&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Second Line:&amp;#039;&amp;#039;&amp;#039; Dropdown to select which property to display&lt;br /&gt;
** &amp;quot;Catalog ID only&amp;quot; - single line label&lt;br /&gt;
** Any property from your file&lt;br /&gt;
&lt;br /&gt;
==== 4. Grid Display ====&lt;br /&gt;
&lt;br /&gt;
* Scrollable area showing aligned molecules&lt;br /&gt;
* Click molecule to select (blue border)&lt;br /&gt;
* In Edit Mode: Click atoms to toggle highlights&lt;br /&gt;
&lt;br /&gt;
==== 5. Status Bar ====&lt;br /&gt;
&lt;br /&gt;
* Shows current operation status&lt;br /&gt;
* Displays MCS statistics after loading&lt;br /&gt;
* Shows atom selection feedback&lt;br /&gt;
&lt;br /&gt;
=== Visual Feedback ===&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Selection:&amp;#039;&amp;#039;&amp;#039; Blue border (3px) around selected molecule&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Default:&amp;#039;&amp;#039;&amp;#039; Gray border (1px) around unselected molecules&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Edit Mode:&amp;#039;&amp;#039;&amp;#039; Info banner turns blue, cursor becomes crosshair&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Selection Mode:&amp;#039;&amp;#039;&amp;#039; Gray info banner, cursor is pointing hand&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Highlights:&amp;#039;&amp;#039;&amp;#039; Light green circles around highlighted atoms&lt;br /&gt;
&lt;br /&gt;
== Workflows ==&lt;br /&gt;
&lt;br /&gt;
=== Workflow 1: Basic Structure Alignment ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Goal:&amp;#039;&amp;#039;&amp;#039; Align a series of molecular analogs and highlight variable regions&lt;br /&gt;
&lt;br /&gt;
# Prepare your data:&lt;br /&gt;
#* SDF file with multiple analogs&lt;br /&gt;
#* Reference SMILES (the core scaffold)&lt;br /&gt;
# Launch the application&lt;br /&gt;
# Click &amp;quot;Browse File&amp;quot; and select your SDF&lt;br /&gt;
# Enter reference SMILES in &amp;quot;Reference&amp;quot; field&lt;br /&gt;
# Set &amp;quot;Columns&amp;quot; to desired value (e.g., 4 for 4×N grid)&lt;br /&gt;
# Click &amp;quot;Load &amp;amp; Align&amp;quot;&lt;br /&gt;
# Review alignment:&lt;br /&gt;
#* Status bar shows MCS statistics&lt;br /&gt;
#* Green highlights show atoms different from reference&lt;br /&gt;
# Export: Click &amp;quot;💾 Export High-Res PNG&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Workflow 2: Custom Highlight Editing ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Goal:&amp;#039;&amp;#039;&amp;#039; Manually adjust which atoms are highlighted&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Method 1: Direct Atom Clicking&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
# Load and align molecules (see Workflow 1)&lt;br /&gt;
# Click &amp;quot;✏️ Edit Highlights Mode&amp;quot; button in toolbar&lt;br /&gt;
# Click directly on atoms to toggle highlights on/off&lt;br /&gt;
# Status bar confirms each atom toggle&lt;br /&gt;
# Click &amp;quot;✏️ Edit Highlights Mode&amp;quot; again to exit&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Method 2: Atom List Dialog&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
# Load and align molecules&lt;br /&gt;
# Click a molecule to select it&lt;br /&gt;
# Click &amp;quot;📝 Atom List...&amp;quot; in toolbar&lt;br /&gt;
# Check/uncheck atoms in the list&lt;br /&gt;
# Use &amp;quot;Select All&amp;quot;, &amp;quot;Select None&amp;quot;, or &amp;quot;Invert&amp;quot; buttons&lt;br /&gt;
# Click &amp;quot;OK&amp;quot; to apply&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Method 3: Bulk Operations&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
# Select a molecule&lt;br /&gt;
# Click &amp;quot;Reset Highlights&amp;quot; to restore original highlights&lt;br /&gt;
# Click &amp;quot;Clear All Highlights&amp;quot; to remove all highlights&lt;br /&gt;
&lt;br /&gt;
=== Workflow 3: Structure Transformations ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Goal:&amp;#039;&amp;#039;&amp;#039; Adjust molecule orientation for better visual comparison&lt;br /&gt;
&lt;br /&gt;
# Load and align molecules&lt;br /&gt;
# Click a molecule to select it (blue border appears)&lt;br /&gt;
# Apply transformations:&lt;br /&gt;
#* &amp;#039;&amp;#039;&amp;#039;Rotate:&amp;#039;&amp;#039;&amp;#039; Click &amp;quot;Rotate ↻ 90°&amp;quot; or &amp;quot;Rotate ↺ 90°&amp;quot;&lt;br /&gt;
#* &amp;#039;&amp;#039;&amp;#039;Mirror:&amp;#039;&amp;#039;&amp;#039; Click &amp;quot;Mirror Horizontal ↔&amp;quot; or &amp;quot;Mirror Vertical ↕&amp;quot;&lt;br /&gt;
# Transformations can be combined:&lt;br /&gt;
#* Example: Rotate 90° + Mirror Horizontal&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;Important:&amp;#039;&amp;#039;&amp;#039; Atom labels remain upright and readable&lt;br /&gt;
# To undo: Click &amp;quot;Reset Selected&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Workflow 4: Customizing Labels ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Goal:&amp;#039;&amp;#039;&amp;#039; Display specific molecular properties&lt;br /&gt;
&lt;br /&gt;
# Load molecules with properties&lt;br /&gt;
# After loading, check &amp;quot;Second Line&amp;quot; dropdown&lt;br /&gt;
#* It auto-populates with available properties&lt;br /&gt;
# Select desired property:&lt;br /&gt;
#* &amp;quot;Catalog ID only&amp;quot; - single line&lt;br /&gt;
#* &amp;quot;Price, USD&amp;quot; - shows price&lt;br /&gt;
#* &amp;quot;Molecular Weight&amp;quot; - shows MW&lt;br /&gt;
#* Any other property from your file&lt;br /&gt;
# Adjust &amp;quot;Font Size&amp;quot; for readability (try 32 or 36)&lt;br /&gt;
# Changes apply immediately to all molecules&lt;br /&gt;
# Export preserves your settings&lt;br /&gt;
&lt;br /&gt;
=== Workflow 5: Publication-Quality Export ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Goal:&amp;#039;&amp;#039;&amp;#039; Create high-resolution image for papers/presentations&lt;br /&gt;
&lt;br /&gt;
# Complete your analysis (alignment, highlights, labels)&lt;br /&gt;
# Configure display:&lt;br /&gt;
#* Font Size: 32-40pt for publication&lt;br /&gt;
#* Second Line: Choose relevant property&lt;br /&gt;
#* Columns: Adjust for best layout&lt;br /&gt;
# Click &amp;quot;💾 Export High-Res PNG&amp;quot;&lt;br /&gt;
# Choose save location&lt;br /&gt;
# Result:&lt;br /&gt;
#* 700×700 pixels per molecule (2× display size)&lt;br /&gt;
#* 300 DPI resolution&lt;br /&gt;
#* Fonts scaled 2× for clarity&lt;br /&gt;
#* All transformations and highlights preserved&lt;br /&gt;
&lt;br /&gt;
== File Formats ==&lt;br /&gt;
&lt;br /&gt;
=== Creating SMILES Files ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Basic format:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
c1ccccc1         Benzene      10.50&lt;br /&gt;
c1ccc(O)cc1      Phenol       15.20&lt;br /&gt;
c1ccc(N)cc1      Aniline      18.00&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;With multiple properties:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
SMILES           ID           Price    MW      LogP&lt;br /&gt;
c1ccccc1         BEN-001      10.50    78.11   2.13&lt;br /&gt;
c1ccc(O)cc1      PHE-002      15.20    94.11   1.46&lt;br /&gt;
c1ccc(N)cc1      ANI-003      18.00    93.13   0.90&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Naming convention:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Use .smi or .smiles extension&lt;br /&gt;
* Tab or space-delimited&lt;br /&gt;
* First column must be valid SMILES&lt;br /&gt;
* Comments: Lines starting with # are ignored&lt;br /&gt;
&lt;br /&gt;
=== SDF File Properties ===&lt;br /&gt;
&lt;br /&gt;
The application reads all properties from SDF files. Common properties:&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Catalog ID&amp;#039;&amp;#039;&amp;#039; - Molecule identifier&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Price, USD&amp;#039;&amp;#039;&amp;#039; - Pricing information&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Molecular Weight&amp;#039;&amp;#039;&amp;#039; - Calculated or experimental MW&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;LogP&amp;#039;&amp;#039;&amp;#039; - Partition coefficient&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;SMILES&amp;#039;&amp;#039;&amp;#039; - SMILES representation&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Custom properties&amp;#039;&amp;#039;&amp;#039; - Any field in your SDF&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Tip:&amp;#039;&amp;#039;&amp;#039; Use RDKit to add custom properties to SDF:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
from rdkit import Chem&lt;br /&gt;
&lt;br /&gt;
mol = Chem.MolFromSmiles(&amp;#039;c1ccccc1&amp;#039;)&lt;br /&gt;
mol.SetProp(&amp;#039;Catalog ID&amp;#039;, &amp;#039;BEN-001&amp;#039;)&lt;br /&gt;
mol.SetProp(&amp;#039;Price, USD&amp;#039;, &amp;#039;10.50&amp;#039;)&lt;br /&gt;
mol.SetProp(&amp;#039;Custom Property&amp;#039;, &amp;#039;Value&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
writer = Chem.SDWriter(&amp;#039;output.sdf&amp;#039;)&lt;br /&gt;
writer.write(mol)&lt;br /&gt;
writer.close()&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
=== Performance Issues ===&lt;br /&gt;
&lt;br /&gt;
==== Slow loading with many molecules ====&lt;br /&gt;
&lt;br /&gt;
* MCS calculation is O(n) for n molecules&lt;br /&gt;
* For &amp;gt;100 molecules, expect 10-30 second load time&lt;br /&gt;
* Timeout is 10 seconds per molecule for MCS&lt;br /&gt;
&lt;br /&gt;
== License ==&lt;br /&gt;
(c) Claude and Andrii&lt;/div&gt;</summary>
		<author><name>Iamkaant</name></author>
	</entry>
</feed>