8

SMILES doesn't define a particular order in which the atoms show up in the string. Hence the position in the molecule where software starts printing will determine the string. E.g. for CO2: Ketcher prints C(=O)=O (starts with C and considers one of the O's a branch) MarvinJS prints O=C=O (starts iteration with O, hence no branching) Both of these ...


7

I am not aware of any other Python tool not mentioned in the question @Mithoron linked to. Openbabel is available via pip by the way. That RDKit is not available on PyPi should not hinder you from using it in a virtual environment. RDKit is available via the conda package manager which is easy to use and combinable with pip. If you are on Linux, the ...


7

I'm not sure about why it's not matching but when I carry out substructure matches in rdkit I use SMARTS instead https://www.daylight.com/dayhtml/doc/theory/theory.smarts.html Here is what I would have done. from rdkit import Chem smiles_list = ['C12=CC=CC=C1C3=CC=CC4=C3C2=CC=C4', 'C12=CC=CC=C1C3=CC=C4C5=C(C=CC2=C35)C6=C4C=CC=C6', 'C12=CC=CC=C1C3=CC=C4C5=...


6

I agree that there seems to be a shift towards using graph representations over SMILES strings. I personally think this is a good thing, and I'll try to explain why, but even if there's nothing inherently better about graph representations of molecules, there is a very practical reason people are moving towards graph representations. So, first of all, as ...


6

TL;DR There is no generic best way. Develop a meaningful comparison for your system first, then the question of how to compare multiple structures will become less convoluted. Pick a reference structure to draw your conclusions. Compare only two structures The whole issue depends on finding a meaningful way to compare structures in the first place. Naively ...


6

I was wondering if this means that the measure of distance is not for the molecule itself but for its representation? Inherently, you must decide on a representation of a molecule in cheminformatics. In most cases, the representation is a "2D" valence-bond connection table (e.g., SMILES, SD file, ChemDraw, etc.) familiar to anyone who has taken an organic ...


4

If you work in a Jupyter Notebook you can visualize your substructure patterns and the search results, so you can see how the patterns work. from rdkit import Chem from rdkit.Chem import Draw smiles = ['CC1=CC=CC=C1','CC1=C([H])C([H])=C([H])C([H])=C1[H]', 'C1(C2=CC=CC=C2)=CC=CC=C1','C12=C(CC3=CC=CC=C3C2)C=CC=C1', 'C12=CC=CC=C1C=C3C(C=CC=...


4

The following looks like a solution, unless anybody disproves it. Thank you @Unskilled, for pointing me in the right direction. If you use structure 1 with smiles_1a: C12=CC=CC=C1C3=CC=CC4=C3C2=CC=C4, you will not find structures 3 and 5. If you take OpenBabel and convert smiles_1a to SMILES you get: c12ccccc1c1cccc3c1ccc3. If you take this SMILES string ...


4

You have to evaluate shortcomings as compared to something. You can make a list and say "but InChI doesn't represent X" where X is ranging around mixtures Markush groups polymers from repeat units reactions toasters The point is: so what? All representations have some limitations. But limitations aren't shortcomings unless you have a different ...


4

It depends on how you code your molecular graphs The idea of a 'connection table' or valence model for molecules, and thus molecular graphs is embedded in chemical thinking. Let's take your four points: It's possible to design connection tables that supports a variety of interactions. For example, zero order bonds can encode coordination bonds, ...


4

In the painting "Dream Caused by the Flight of a Bee" by Salvador Dali, among other strange items, we may see a fish flying in midair. There is also one in the drawing "Big Fish Eat Little Fish" by Bruegel the Elder. One may conclude that there is a flying fish in every picture out there. One may even publish a paper to that effect. But I believe you see the ...


4

While this might work in some cases, I am not sure how well it will work in general. The problem here might be reflected in this statement: These sub-strings should be subset of the main SMILES string Not every substring will be a subgraph of the parent molecule. As mentioned in the comments, this seems essentially a fragmentation problem. Take this one of ...


4

According to the manual of the newzmat utility of Gaussian 16, it accepts unadorned Cartesian coordinates (G16 online manual). The format you have posted is actually (simple) xmol. This means the first line denotes the number of atoms, the second line denotes a comment, and both need to be skipped. Therefore your file should look like this: C 0.539202 -...


4

Turns out that OpenBabel is sensitive to whether blank lines are really blank lines or lines with space characters only. In my case, this was the blank line between the route and the title line. One can see them by pressing the button with a paragraph sign (¶) on it in Your favourite text editor (Notepad++, or even MS Word or LibreOffice Writer), or by ...


3

Cutting a molecule (expressed with SMILES strings) into fragments yields sub-structures. Typically these fragments can't be considered as molecules for their open, non-bonding valencies. Derived from SMILES, it is then the SMARTS notation which is used to represent them, or to search with this notation of sub-structures in databases, e.g. in bioinformatics....


3

I can think of two reasons that a 'maximum energy' might exist for a molecule: We can rigorously define the atomization energy for a molecule - that is, the enthalpy required to completely separate a given molecule into constituent atoms. As mentioned above, above a certain vibrational energy, the vibration will dissociate (e.g., one can break a C-H bond in ...


3

Chemical Identifier Resolver has a python API also: https://cirpy.readthedocs.io/en/latest/index.html import cirpy print(cirpy.resolve('107-13-1', 'stdinchikey')) Output InChIKey=NLHHRLWOUZZQLW-UHFFFAOYSA-N


3

(note: The structure representation is suspicious and confusing. Linear nitrile $\ce{-C#N}$ group is "broken". But I see some software products generate such representation automatically.) If the structure is really meant saturated, no stereochemistry is indicated. 3-aminooxolane-2-carbonitrile (Watch the typo in your proposal …oxalane.) But it's not ...


3

First I would calculate the centre of mass (com) then go on and calculate the moment of inertia axis vectors for each structure and use these to align them via a rotation matrix. Make the centre of mass the same for both first. Now start to measure the difference in position of each atom; find the mean or centre of the same atom's position between structures ...


2

Rdkit, which is widely used in cheminformatics, can generate a list of valid smiles strings for a given molecule. That sounds like exactly what you are looking for. More info found here: https://iwatobipen.wordpress.com/2018/11/15/generate-possible-list-of-smlies-with-rdkit-rdkit/


2

Generative machine learning methods in chemistry are typically tasked with generating new molecular structures. Think of it as 'dreaming up molecules.' We see these kinds of ML models with predictive text programs.. if I'm typing, my phone attempts to guess the word or complete my sentence. (NB this doesn't work so well with molecule names or scientific ...


2

I'm currently working on a content store for a resource like this because I've realized I need this as well (and came across your question ~2 weeks ago). Content Vairable Store I am writing a python package called global-chem to actively support variable common storage (especially for SMILES/SMARTS) strings that can be easily distributed via pip. https:/...


2

Another option for a little programming is the Indigo Toolkit, which has Python, Java, .NET, and C libraries. The following Python example takes the isomeric SMILES for Albuterol, which I obtained from PubChem, and renders 2D structures for three forms (one with unspecified stereochemistry and the two stereoisomers). The individual structures are labeled ...


2

Because you find these entries in a Excel workbook, it is likely that this spreadsheet was created with Chemdraw's add-in for Excel (company's demo) to embed chemical formulae: (source). to provide a bridge between the two worlds to display chemical libraries (promotional example, or manual chapter 13). To use it, you need both access to Excel as well as ...


2

Here is a ZMAT for your XYZ coordinates: 16 C 1 C 1 1.525 H 1 1.090 2 111.141 H 1 1.090 2 111.120 3 119.9 H 1 1.090 2 111.206 3 239.9 H 2 1.090 1 111.141 3 179.8 H 2 1.090 1 111.120 3 299.7 H 2 1.090 1 111.206 3 59.7 C 8 3.216 2 130.964 1 32.0 C 9 1.525 8 85.518 2 56.3 H 9 1.090 8 56.495 2 297.1 H 9 1.090 8 161....


1

Let's consider a data set with three attributes for each compound: a chemical name, a CAS number (unique identifier for a compound) and a single empirically measured numerical interest, such as efficacy in lowering blood pressure in rats. If you had duplicate entries for a single experimental result, that could potentially bias the analysis. If you had two ...


Only top voted, non community-wiki answers of a minimum length are eligible